首页 > IT基础架构 > > elastic search--集群搭建
今天开始搭建下ES的集群,ES的集群是由多个相同cluster.name 配置的节点组成的,每个节点是一个运行ES的实例,换句说就是就是执行了多少个./bin/elasticsearch。具体可以参考官方的介绍。但是官网的实例用的是一个节点,就是运行了一个./bin/elasticsearch实例,然后设置了多个数据存储路径。再该系列中运行了三个节点,每个节点对应的数据存储地址。
其中ES有很多新的专业术语,尤其是再进行映射和分析的时候,后面咱们会用大家熟知的知识,通俗易懂的讲解。先来看下简单的集群搭建。
Ubuntu上直接执行命令
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.2.zip解压,执行命令
unzip elasticsearch-5.6.2.zip重命名,执行命令
mv elasticsearch-5.6.2 elasticsearch复制elasticsearch三分(即后面的三个节点),执行命令
for loop in 1 2; do cp -r elasticsearch elasticsearch_$loop; done创建3个文件夹(数据存储的地方,坚持一个原则数据、程序分离),执行命令
a=
for loop in 1 2; do if [ $a -eq $loop ]; then mkdir elastic; else mkdir elastic_$loop; fi; done最终结果如下:

然后随便进入一个节点执行一下命令:
elasticsearch/bin/elasticsearch -version得到如下版本信息:
Version: 5.6.2, Build: 57e20f3/2017-09-23T13:16:45.703Z, JVM: 1.8.0_144到目前位置,只是经过一些列的手动一下操作了三个 ES实例,但是并不是一个集群,也只能成为独立的节点。如果想要把这三个ES实例搭建成一个集群,那需要进行下配置。
如果想构建一个集群,其实很简单,其实在前言的时候已经介绍过了,就是在配置文件中设置cluster.name的值一致即可。
首先进入每个实例的配置文件,
/elasticsearch/config/elasticsearch.yml以第一个节点配置文件更改如下:
cluster.name: web_news_query
node.name: news_5001_data
path.data: /home/ubuntu/elastic/data
path.logs: /home/ubuntu/elastic/logs
network.host: 0.0.0.0
http.port: 5001这里port是5001,其中docker映射后访问的是36001
同理再另外两个实例进行同样操作(端口、node.name、db&log路径注意是需要独立更改的)。然后详细的配置就不再这里解说了,可以参考中文官网
启动节点就一条命令
./bin/elasticsearch这里启动了三个节点,如图:

启动后通过浏览器验证下,访问:
http://192.168.1.2:36001/?pretty
http://192.168.1.2:36002/?pretty
http://192.168.1.2:36003/?pretty
浏览器输出的结果(以36001为例):
"name": "news_5001_data",
"cluster_name": "web_news_query",
"cluster_uuid": "8lUEVCk8Qp-CdKtMbCBouQ",
"version": {
"number": "5.6.2",
"build_hash": "57e20f3",
"build_date": "2017-09-23T13:16:45.703Z",
"build_snapshot": false,
"lucene_version": "6.6.1"
},
"tagline": "You Know, for Search"
}这样表示节点已经正常启动,这样一个集群就搭建好了。然后让我们用一个可视化工具与ES进行友好的交互吧!
下载Kibana,地址:download Linux 64-BIT
解压后如图:

下一步就是配置Kibana的配置文件,编辑配置文件
kibana-5.6.2-linux-x86_64/config/kibana.yml配置如下:
#对外访问为 36005
server.port: 5005
server.host: "0.0.0.0"
#因为在同一台虚拟机上,所以可以用localhost
elasticsearch.url: "http://localhost:5001"然后启动Kibana,执行命令:
kibana-5.6.2-linux-x86_64/bin/kibana启动后的结果如下:

通过浏览器访问 http://192.168.1.2:36005/,怎会展示如下结果:

这就代表了Kibana已经启动成功,既然搭建了一个集群,来看下集群的健康状况,点击Kibana功能“Dev Tools”进入console控制台,执行如下命令:
GET /_cluster/health右侧展示的结果:
{
*集群名称*
"cluster_name": "web_news_query",
*集群状态*
"status": "green",
"timed_out": false,
*集群节点数*
"number_of_nodes": 3,
*数据节点数*
"number_of_data_nodes": 3,
"active_primary_shards": 1,
"active_shards": 2,
"relocating_shards": ,
"initializing_shards": ,
"unassigned_shards": ,
"delayed_unassigned_shards": ,
"number_of_pending_tasks": ,
"number_of_in_flight_fetch": ,
"task_max_waiting_in_queue_millis": ,
"active_shards_percent_as_number": 100从以上返回的结果可以看到,集群的运行状况是良好的。到目前位置集群已经搭建完毕,下一步讲解下集群监控中的集群监控状况,即:status的值
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31509949/viewspace-3139132/ ,如需转载,请注明出处,否则将追究法律责任。