異なる VPS に独自のホスト名を持つ 2 つの 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.]
ノードBは他の名前が「ノードA」であることを知っているため、通信は存在しますが、何が欠けているのか、何を確認できますか?
アップデート:
残念ながら、これは nodeB のサーバーの問題であることが判明し、ES とは何の関係もありませんでした。
記録のために、上記の設定は正常に機能し、nodeB は nodeB のみが nodeA について知る必要があるマスターではないため、nodeA のユニキャスト設定は無意味です。