你的位置:企业物联网软件开发 > 物联网app开发 > 企业物联网软件开发 奈何快速部署一个Elasticsearch集群?

企业物联网软件开发 奈何快速部署一个Elasticsearch集群?

发布日期:2024-10-29 06:12    点击次数:75

[[416439]]

本文转载自微信公众号「无敌码农」,作家无敌码农。转载本文请关连无敌码农公众号。

今天的著述给群众先容下Elasticsearch这一当今在“搜索”和“分析”领域使用十分平常的技巧组件。并演示奈何快速构建一个Elasticsearch集群。

Elasticsearch空洞

Elasticsearch是一款颠倒雄壮的开源“搜索”及“分析”引擎。除了搜索,连合Kibana、Logstash、Beats,以及Elastic Stack的技巧生态,Elasticsearch还被平常欺诈在大数据实期间析领域——包括日记分析(ELK)、主义监控、信息安全等领域。

Elasticsearch发源于开源搜索引擎类库Lucene,Elasticsearch的首创东说念主Shay Banon于2004年基于Lucene开荒了“Compass”,并在2010年重写“Compass”样式之后,将其风雅定名为“Elasticsearch”。

当今在搜索引擎分类排行中Elasticsearch名列第一,除此除外,同类的产物还有Solor(Apache开源样式)和Splunk(交易样式),它们三者提供的功能格皮毛似。然而在措施员开源社区中Elasticsearch的活跃度最高。

上期前区三区比为3:2:0,相较于前几期有所调整,本期推荐三区比为:1:2:2,保持相对平衡。

Elasticsearch的功能特色

Elasticsearchs是一种典型的散播式系统,支抓水平膨胀。当数据范围变大的时候,Elasticsearch的集群节点不错从单个膨胀到数百个。

Elasticsearch集群还支抓建立不同的节点类型。举例针对日记类的应用不错支抓Hot&Warm架构——冷热架构部署。Elasticsearch的散播式架构如下图所示:

除此除外,Elasticsearch还支抓多种形态集成接入。举例,不错被多种谈话便捷的集成(Java、.Net、Python、PHP..);活泼的RESTful API;最新版块以致还支抓JDBC&ODBC形态的接入。

Elastic Stack眷属成员

Elasticsearch之是以如斯流行,处理活跃的社区外,很伏击的小数就在于其背后还有一个雄壮的交易公司——Elastic在复旧。Elastic Stack的生态圈,如下图所示:

接下来差异先容下Elastic Stack各技巧组件的用途,具体如下:

app Logstash

开源的做事器端数据处理管说念,支抓从不同起原网络数据,治愈数据,并将数据发送到不同的存储库中。2013年被Elasticsearch收购。

Logstash支抓及时显露和治愈数据,举例,从IP地址破译出地舆坐标,以及将

PII数据匿名化,通盘排斥敏锐字段等。此外,Logstash还支抓插件的膨胀形态,当今苟简有200多个插件,不错措置日记、数据库等多种场景的实际需求。

另外,Logstash的可靠性及安全性也很高。Logstash和会过抓久化队伍来保证至少将运行中的事件投递一次,以及支抓数据传输加密。

Kibana

基于Logstash的数据可视化分析器用。

Beats

轻量的数据网络器,Go谈话开荒,运行速率颠倒快。场景的Beats插件有:Filebeat(日记文献插件)、Packetbeat、Heartbeat等。

X-Pack(交易化套件-已开源)

X-Pack开源之后,联系我们部分X-Pack功能支抓免费使用,举例6.8和7.1版块初始,Security功能不错免费使用。

Elastic Stack应用场景

Elastic Stack技巧栈常见的应用场景如下:

(1)搜索场景下的Elasticsearch与数据库的集成

在搜索场景下不错成功零丁使用Elasticsearch来存储数据,但关于绝大无数业务系统来说王人是用的是传统数据库,是以Elasticsearch扫尾搜索一般聘用与数据库集成的决策。如下图所示:

(2)主义分析与日记分析

除了搜索场景外,Elastic Stask还被平常应用在主义分析及日记分析领域。如下图所示:

通过代码和Beats形态网络数据,并将网络的数据发送至数据缓冲区(举例Kafka,主如若为了减少Elasticsearch的并发压力),然后通过Logstash完成数据的治愈团聚,并将数据存储至Elasticsearch。终末,就不错使用Kibana或Grafana来可视化查询Elasticsearch中的数据了。

搭建一个Elasticsearch集群

接下来演示部署一个Elasticsearch集群。要领如下。

(1)下载Elasticsearch安设包。

从Elastic官网下载最新版块的Elasticsearch的二进制安设包。大喊如下:

wget 企业物联网软件开发https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.14.0-darwin-x86_64.tar.gz 

这里下载的是最新7.14.0的版块,因为是在Mac安设,是以聘用的是MacOS版块。之后,将二进制安设文献解压至做事器指定目次,大喊如下:

$ tar zxvf elasticsearch-7.14.0-darwin-x86_64.tar.gz 

解压后的安设目次结构讲明如下:

修改JVM建立——config/jvm.options。最新版块会默许左证机器的可用内存自动建立。建立漠视如下:

Xmx和Xms建立成相似。 Xmx不要最先机器内存的50%。 不要最先30GB

(2)运行多个Elasticsearch实例的集群。

Elasticsearch不错在多个不同的机器节点运行多个实例,从而构成一个大的集群。为了下一步学习Elasticsearch集群责任的机制,接下来演示在土产货同期启动多个Elasticsearch实例,来构成一个集群。

启动大喊如下:

./bin/elasticsearch -E  node.name=node0 -E node.master=true -E node.ingest=false -E node.data=false -E cluster.name=mafengwoEs -E http.port=9201 -E path.data=node0_data -d  ./bin/elasticsearch -E  node.name=node1 -E node.master=false -E node.ingest=false -E node.data=true -E cluster.name=mafengwoEs -E http.port=9202 -E path.data=node1_data -d  ./bin/elasticsearch -E  node.name=node3 -E node.master=false -E node.ingest=false -E node.data=false -E cluster.name=mafengwoEs -E http.port=9204 -E path.data=node3_data -d 

-E参数用于设定“config/elasticsearch.yml”文献中的参数,在本机不同端口差异启动多个elasticsearch实例,并差异建立不同的节点脚色类型。本机资源有限,只可run 3个节点!

(2)浏览器通过API稽查Elasticserach集群节点信息

运行见效后,不错使用浏览器通过API来稽查Elasticsearch的集群信息,大喊如下:

http://127.0.0.1:9201/_cat/nodes               127.0.0.1 47 100 45 15.15   cdfhilmrstw - node1               127.0.0.1 11 100 45 15.15   cdfhilmrstw * node0               127.0.0.1 32 100 45 15.15   cdfhilmrstw - node3               127.0.0.1 15 100 45 15.15   cdfhilmrstw - node2 

不错看到多个实例的Elasticsearch集群就部署见效了!

安设Kibana可视化界面

接下来安设Kibanka可视化器用,来看望Elasticsearch集群。要领如下。

(1)下载Kibana安设包

大喊如下:

$ wget https://artifacts.elastic.co/downloads/kibana/kibana-7.14.0-darwin-x86_64.tar.gz 

下载最新的7.14.0版块的MacOS二进制安设包。之后解压下载的安设包,大喊如下:

$ tar zxvf kibana-7.14.0-darwin-x86_64.tar.gz 

(2)剪辑conf/kibana.yaml文献,指定elasticsearch集群实例的地址

剪辑建立文献,指定Elasticsearch的集群地址,修改的内容如下:

# The URLs of the Elasticsearch instances to use for all your queries. elasticsearch.hosts: ["http://localhost:9204","http://localhost:9201","http://localhost:9203"] 

(3)启动Kibana

启动Kibana,大喊如下:

$ ./bin/kibana 

此时,大开浏览器参加Kibana的首页,如下图所示:

如上图所示,不错向Elasticsearch集群中添加Kibana提供的样例数据。

(4)使用Kibana的“Dev Tools”器用

Kibana的“Dev Tools”器用,大概匡助咱们很便捷实施一些elasticsearch的API。如下图所示:

具体的查询大喊如下:

#实施查询集群节点景色的API。 get /_cat/nodes/?v 
跋文

 

Elasticsearch当今使用的颠倒平常,本文仅仅浅显先容了Elasticsearch的基本情况,并浅显搭建了一个Elasticsearch的多实例集群。在后头的著述中,作家将不按期共享一些Elasticsearch的学问及实践。