我一直在尝试使用可爱的ansible-elasticsearch项目来建立一个九节点的Elasticsearch集群.
每个节点都已启动并运行......但它们并未相互通信.主节点认为没有数据节点.数据节点未连接到主节点.
他们都有相同的cluster.name.我已尝试使用multicast enabled(discovery.zen.ping.multicast.enabled: true)和disabled(先前设置为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.