尝试跨两个远程服务器进行复制

时间:2013-07-25 16:47:21

标签: elasticsearch

我在不同的VPS上有两个Elastic Search,它们有自己的主机名,我无法让它们互相复制。它们都是0.90.2版本。

我的设置是:

cluster.name: mycluster
name.name: "nodeA"
node.master: true
node.data: true
index.number_of_shards: 5
index.number_of_replicas: 1
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: ["nodeB.example.com"]

cluster.name: mycluster
name.name: "nodeB"
node.master: false
node.data: true
index.number_of_shards: 5
index.number_of_replicas: 1
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: ["nodeA.example.com"]

当我尝试启动nodeB实例时,结果为:

[INFO ][discovery.zen] [nodeB] 
failed to send join request to master 
[[nodeA][IZFgtrTPSISQR7VklS3www][inet[/*.*.*.*:9300]]{master=true}],
reason [org.elasticsearch.ElasticSearchTimeoutException:
Timeout waiting for task.]

因此,沟通是因为nodeB知道其他人的名字是'nodeA',但是我错过了什么或者我可以检查什么?

更新

不幸的是,这在nodeB上是一个服务器问题,与ES无关。

对于记录,上述设置工作正常,nodeA的单播设置没有意义,因为nodeB不是主节点,nodeB需要知道nodeA。

1 个答案:

答案 0 :(得分:1)

<强>更新:

在两个配置文件中进行以下操作:

discovery.zen.ping.unicast.hosts: ["master_node_ip"]

如果提供上面的设置就是全部。然后,您应该将群集名称添加到您的设置中。

<德尔> cluster.name: my_cool_cluster_name