Elasticsearch建立多机集群
通过discovery.zen.ping.unicast.hosts: [“host1”, “host2:port”, “host3[portX-portY]”]
设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点。
-
选取10.122.4.79这台机器做为client node,elasticsearch.yml中的配置如下:
cluster.name: elsearch node.name: node1 network.bind_host: 10.122.4.79 network.host: 0.0.0.0 transport.tcp.port: 9300 # logs path.data: /data/elasticsearch-5.1.2/data path.logs: /data/elasticsearch-5.1.2/logs # allow origin http.cors.enabled: true http.cors.allow-origin: "*" # masterNode and dataNode node.master: true node.data: true discovery.zen.ping.unicast.hosts: ["10.122.4.79"]
注意端口不是9200,而是9300。也可以不写端口。
启动10.90.4.9上的es服务器,现在只是一个单机集群。 -
在10.122.4.88这台机器上配置好同样的ES作为master node,elasticsearch.yml中的配置如下:
cluster.name: elsearch node.name: node1 network.bind_host: 10.122.4.88 network.host: 0.0.0.0 transport.tcp.port: 9300 # logs path.data: /data/elasticsearch-5.1.2/data path.logs: /data/elasticsearch-5.1.2/logs # allow origin http.cors.enabled: true http.cors.allow-origin: "*" # masterNode and dataNode node.master: false node.data: true discovery.zen.ping.unicast.hosts: ["10.122.4.79"]
此时,两台机器的集群已经配置完毕。
node.master 和 node.data 的详解:Elasticsearch负载均衡节点
注意:第二台机器安装的Elasticsearch是由第一台复制的,那么此时启动第二台机器的Elasticsearch时会报如下错误:
产生这种错误的原因是因为,第二台机器的Elasticsearch中data文件夹和logs文件夹中的内容是第一台机器中Elasticsearch中的数据,所以解决此问题的方法是删除,data文件夹和logs文件夹中的所有文件。
完成以上处理后,先启动第一台机器的Elasticsearch服务,然后启动第二台机器的服务,最后启动Elasticsearch-head工具;通过head查看配置的集群情况
你的点赞与转发是最大的支持。
END