发布日期: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的学问及实践。