无法在elasticsearch上启动第二个节点

时间:2016-02-05 01:35:06

标签: elasticsearch virtual-machine

我的第一个配置如下:

 cluster.name: cluster
 node.name: "node-1"
 node.master: true
 node.data: true
 network.host: localhost 
 transport.tcp.port: 9302
 discovery.zen.ping.multicast.enabled: false
 discovery.zen.ping.unicast.hosts: ["localhost"]

我的第二个节点的配置是:

 cluster.name: cluster
 node.name: "node-2"
 node.master: false
 node.data: true
 network.host: 172.28.29.49 (IP OF THE MASTER NODE)
 discovery.zen.ping.multicast.enabled: false
 discovery.zen.ping.unicast.hosts: ["172.28.29.49:9302"]

我在两个VM上运行它。 问题非常基本,为什么我的两个节点没有相互连接。

如果你想要的话,忽略一切。它只是一些历史:

我想设置两个节点的原因是因为我丢失了大量数据(https://stackoverflow.com/questions/35191543/elasticsearch-lost-data-after-power-cut)。 我的计划是将已经索引的索引复制到一个新节点,但这并没有起作用,只留下了一大堆unassigned_shards。所以我创建了一个脚本来自动重定位它们,但我无法将它们重定位到同一个节点,这就是我需要一个新节点的原因。如果有人知道如何将碎片重新定位到同一节点或者在我的旧问题中知道我的问题的另一个修复,那么这将是很好的

1 个答案:

答案 0 :(得分:1)

如果您运行的是ES 2.x,则默认情况下每个节点都绑定到localhost,除非另有说明。

在您的情况下,网络配置不正确(绑定主机和单播主机列表)。您的第一个节点需要绑定到第二个主机可以看到的IP地址,第二个主机需要绑定到第一个主机可以看到的IP地址,否则两个都将是盲目的,不会形成任何群集。

所以node-1需要像这样配置:

network.host: 172.28.29.49
discovery.zen.ping.unicast.hosts: ["IP.OF.NODE.2"]

node-2需要像这样配置:

network.host: IP.OF.NODE.2
discovery.zen.ping.unicast.hosts: ["172.28.29.49:9302"]  #Need port number here
相关问题