猪猪系列 若何快速部署一个Elasticsearch集群?
发布日期:2024-08-03 16:42    点击次数:142

猪猪系列 若何快速部署一个Elasticsearch集群?

[[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的活跃度最高。

Elasticsearch的功能特色

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

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

除此除外,Elasticsearch还支握多种神气集成接入。举例,不错被多种讲话便捷的集成(Java、.Net、Python、PHP..);生动的RESTful API;最新版块以至还支握JDBC&ODBC神气的接入。

Elastic Stack眷属成员

Elasticsearch之是以如斯流行,处理活跃的社区外,很紧迫的少量就在于其背后还有一个重大的交易公司——Elastic在营救。Elastic Stack的生态圈,如下图所示:

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

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的常识及实践。

 



Powered by 海量激情文学 @2013-2022 RSS地图 HTML地图

Copyright Powered by站群 © 2013-2022 版权所有