【发布时间】:2023-03-30 13:58:01
【问题描述】:
我一直在尝试使用可爱的ansible-elasticsearch 项目来建立一个九节点的 Elasticsearch 集群。
每个节点都已启动并正在运行...但它们彼此之间没有通信。主节点认为有零数据节点。数据节点未连接到主节点。
他们都有相同的cluster.name。我尝试过启用多播 (discovery.zen.ping.multicast.enabled: true) 和禁用多播(之前设置为 false,discovery.zen.ping.unicast.hosts:["host1","host2",..."host9"]),但无论哪种情况,节点都无法通信。
他们之间有网络连接 - 通过端口 9300 上的 telnet 验证。
示例输出:
$ curl host1:9200/_cluster/health
{"error":{"root_cause":[{"type":"master_not_discovered_exception","reason":"waited for [30s]"}],"type":"master_not_discovered_exception","reason":"waited for [30s]"},"status":503}
我想不出他们无法连接的更多原因 - 寻找更多关于尝试什么的想法。
编辑:我终于解决了这个问题。有效的设置是 publish_host 到 "_non_loopback:ipv4_" 和单播,discovery.zen.ping.unicast.hosts 设置为 ["host1:9300","host2:9300","host3:9300"] - 仅列出专用主节点。我的最小主节点数为 2。
【问题讨论】:
标签: elasticsearch