es集群搭建步骤及解决es集群无法形成的问题

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

cluster.name: geingo-elasticsearch
node.name: es-node1
path.data: /usr/local/elasticsearch-7.15.0/data
path.logs: /usr/local/elasticsearch-7.15.0/logs
network.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.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接口即可。
es集群搭建步骤及解决es集群无法形成的问题_第1张图片

在开放三台服务器的9300端口后,三台es服务器成功形成集群。
es集群搭建步骤及解决es集群无法形成的问题_第2张图片

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

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

你可能感兴趣的:(es集群搭建步骤及解决es集群无法形成的问题)