通过关注this answer,我将/etc/elasticsearch/elasticsearch.yml
设置如下(几乎相当于链接的答案):
节点1(192.168.136.6):
cluster.name: mycluster
node.name: "node1"
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ["192.168.136.6"]
节点2(192.168.152.244):
cluster.name: mycluster
node.name: "node2"
node.master: false
node.data: true
discovery.zen.ping.unicast.hosts: ["192.168.136.6"]
并将其他所有内容设置为默认值,即它们已被注释掉。
通过节点1上的curl http://localhost:9200/_cluster/health?pretty=true
,我得到:
...
"number_of_nodes" : 1,
"number_of_data_nodes" : 1,
...
显然节点1和2没有聚类。我错过了什么?
注意:我在CentOS 6.5上使用ES 2.3.4。至少ping从节点2到1和1到2工作。我暂时关闭了iptables(因为我想确保防火墙设置不会导致问题)。我尝试了两个VPS服务但它仍然无效(因此我从标题中删除了“on Linode”)。
答案 0 :(得分:0)
好吧,我可以解决这个问题,但实际上有点复杂。我的服务器(在Linode上)只有接口eth0
,它绑定到外部互联网,别名eth0:0
绑定到专用网络。因此,我必须将network.host
设置为_eth0:0_
,然而does not work (maybe a bug)。因此,我将network.host
设置为_site_
,在这种情况下似乎实际上转换为_eth0:0_
。现在我有一个正确的集群ES。
_global_
也可能有效,但我会犹豫不决,因为我不确定它是否安全。