2015-10-14 21 views
2

我有一個版本爲1.5.2的elasticsearch集羣
集羣中有一個主節點和一個數據節點。
當我添加新的數據節點添加到集羣(具有相同羣集名稱)名爲node.name:「節點2」,新節點無法在集羣在沒有日誌表明加入怎麼了。
我主要conifg文件是如下:
主節點配置:節點1的elasticsearch必須重新啓動主節點,才能在zen發現中加入新節點

cluster.name: cluster1 
node.name: "Master" 
node.master: true 
node.data: false 
discovery.zen.minimum_master_nodes: 1 
discovery.zen.ping.timeout: 3s 
discovery.zen.ping.retries: 6 
discovery.zen.ping.interval: 30s 

數據節點的配置:節點2的

cluster.name: cluster1 
node.name: "Node1" 
node.master: false 
node.data: true 
discovery.zen.minimum_master_nodes: 1 
discovery.zen.ping.timeout: 3s 
discovery.zen.ping.retries: 6 
discovery.zen.ping.interval: 30s 

數據節點的配置:

cluster.name: cluster1 
node.name: "Node2" 
node.master: false 
node.data: true 
discovery.zen.minimum_master_nodes: 1 
discovery.zen.ping.timeout: 3s 
discovery.zen.ping.retries: 6 
discovery.zen.ping.interval: 30s 

當我重新啓動主節點時,新節點成功加入羣集。
有誰知道如何在不重新啓動主節點的情況下將新節點加入羣集?

+0

您有兩個節點1和節點相同的節點名稱:'node.name:「節點1」' –

+0

@Stefan我輸入了錯誤的節點的名字,我已經改變爲「節點2」。它仍然無法加入羣集 – tottishi05

回答

0

如果您使用unicast,您需要添加:

discovery.zen.ping.unicast.hosts = [...] 
discovery.zen.ping.multicast.enabled = False 

如果你使用多播,您需要設置appropriate multicast settings(對於external multicast)。

如果您正在使用AWS,我建議看elasticsearch-cloud-aws插件。

PS:在當前的配置,你有沒有數據的節點。

+0

我使用多播,我想我使用正確的設置。問題似乎是,直到我重新啓動主設備後,主設備才能發現新節點。 – tottishi05

+0

@ tottishi05你將不得不提供更多信息。無法找到主節點的節點的輸出是什麼? –

+0

@ tottishi05另外,在重新啓動過程中你還在做其他事情嗎?如在,構建過程的這一部分和其他操作是否被觸發?或者你只是簡單地殺死進程並重新啓動elasticsearch客戶端? –

相關問題