无法在弹性搜索上启动第二个节点

Cannot get second node started on elasticsearch

我的第一个配置是这样的:

 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"]

我 运行 这两个虚拟机。 这个问题很基本,为什么我的两个节点没有相互连接。

如果您愿意,请忽略下面的所有内容。这只是一些历史:

我之所以要设置两个节点是因为我丢失了一堆数据()。 我的计划是将已经索引的索引复制到一个新节点中,但这没有用,只给我留下了一大堆 unassigned_shards。所以我做了一个脚本来自动重新定位它们,但是我不能将它们重新定位到同一个节点,这就是为什么我需要一个新节点。如果有人知道如何将分片重新定位到同一个节点,或者知道我的旧问题中的另一个解决方案,那就太好了

如果你是运行 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