搭建es集群时,批改或增加elasticsearch.yml配置如下:

cluster.name: geingo-elasticsearchnode.name: es-node1path.data: /usr/local/elasticsearch-7.15.0/datapath.logs: /usr/local/elasticsearch-7.15.0/logsnetwork.host: 0.0.0.0http.cors.enabled: truehttp.cors.allow-origin: "*"node.master: truenode.data: truediscovery.seed_hosts: ["192.168.36.9","192.168.36.10","192.168.36.11"]cluster.initial_master_nodes: ["es-node1"]

注意事项:在三台服务器中,cluster.name需保持一致,node.name每台则须要批改(如es-node1、es-node2),其余配置根本放弃不变即可。

配置实现后此时别离在三台服务器中启动es,发现每个节点都可能单独拜访胜利,可能拜访9200端口,但无奈造成集群。

查看logs/elasticsearch.log文件后,发现集群须要ping通9300端口,然而如果是单节点部署,只须要凋谢9200接口即可。

在凋谢三台服务器的9300端口后,三台es服务器胜利造成集群。

随后通过百度理解到es这两个端口的区别:
9200用于内部通信,基于http协定,程序与es的通信应用9200端口。
9300jar之间就是通过tcp协定通信,遵循tcp协定,es集群中的节点之间也通过9300端口进行通信。

总结:如果是单节点的es,则凋谢9200端口即可,如果须要部署es集群,则须要同时凋谢9300端口作为他们之间的通信。