es集群搭建(2个节点)

来源:互联网 发布:苹果cms插件 编辑:程序博客网 时间:2024/06/10 20:41

可以说Elasticsearch就是为分布式而生的,网上的资料很多,但把搭建集群介
绍的详细的很少,这里介绍下2个es节点组成的集群的搭建(针对5.0及以上版本),针对一些概念性(如单播,组播等)的内容不再赘述

首先需要提醒的是:
1.两个节点必须能ping通
2.如果已在一个节点上安装了x-pack,那么每个节点上都需要安装x-pack,否则即使2个节点可以ping通,也不会成功加入到一个集群

es节点ip:
node123: 192.168.1.123
node66: 192.168.1.66

需要更改的主要是elasticsearch.yml文件,位于/ESHOME/config目录下(ESHOME即es的安装目录)

node123需要更改的内容如下:

 cluster.name: clustername               #集群名称,默认为elasticsearch node.name: node123                      #节点名 http.port: 9200                         #访问端口,为了安全建议修改 network.host: 192.168.1.123                        path.logs:                              #日志的路径 path.data:                              #数据的路径 path.plugins:                           #插件的路径 discovery.zen.ping.unicast.hosts: ["192.168.1.66"]  #发现新的节点的ip

node66需要更改的内容如下:

 cluster.name: clustername                          node.name: node66                    http.port: 9200                       network.host: 192.168.1.123  

配置好后启动两个节点的es,然后进入kinana,在Dev Tools左侧输入以下命令:
GET _cluster/health
如果看到类似下面的结果则表示2节点集群搭建成功
这里写图片描述

注:
1.一个集群内所有节点的集群名必须一致,即上面的clustername
2.一个集群内不能出现2个一样的节点名
3.如果某一个配置文件里的配置有缩进,则配置文件里所有非注释必须有相同的缩进,要不然可能会报错
4.path.logs,path.data,path.plugins这三个路径建议不要设置在/ESHOME目录下,否则当es重新安装时可能会被覆盖,造成数据丢失
5.发现节点的方式建议用单播的方式,即上面的方法,[]里可以填写多个ip,用逗号分隔,跟python里的链表一样,格式为 host:port 或者 host
6.扩容的方式建议为水平扩容(增加相同配置的服务器),而不是垂直扩容(增加服务器的性能)

ref:
https://www.elastic.co/guide/cn/elasticsearch/guide/current/important-configuration-changes.html#unicast
https://www.elastic.co/guide/en/elasticsearch/reference/5.0/modules-discovery-zen.html