2016-07-12 51 views
1

通過以下this answer,我建立了我的/etc/elasticsearch/elasticsearch.yml如下(幾乎等同於聯的答案):無法在安裝Elasticsearch集羣(以下雖然以前SO接聽)

節點1(192.168.136.6):

cluster.name: mycluster 
node.name: "node1" 
node.master: true 
node.data: true 
discovery.zen.ping.unicast.hosts: ["192.168.136.6"] 

節點2(192.168.152.244):

cluster.name: mycluster 
node.name: "node2" 
node.master: false 
node.data: true 
discovery.zen.ping.unicast.hosts: ["192.168.136.6"] 

和其他一切被設置爲默認值,即他們註釋掉。

通過curl http://localhost:9200/_cluster/health?pretty=true節點1,我得到:

... 
"number_of_nodes" : 1, 
"number_of_data_nodes" : 1, 
... 

所以顯然節點1 & 2不聚集。我錯過了什麼?

注意:我在CentOS 6.5上使用ES 2.3.4。至少從節點2 ping到1和1到2工作。我暫時關閉了iptables(因爲我想確保防火牆設置不會導致問題)。我嘗試了兩個VPS服務,但它仍然無法工作(所以我從標題中刪除了「Linode」)。

+1

[Elasticserch Master未發現異常 - 版本2.3.0]的可能重複(http://stackoverflow.com/questions/38130943/elasticserch-master-not-discoverd-exception-version-2-3-0) – pickypg

+1

你以不同的方式提出了問題,但答案是同一問題的結果。 ES 2.0+默認僅將套接字綁定到本地主機。所以,在不同的IP上,這兩個節點不能看到對方。 – pickypg

+0

儘管我自己發佈了答案,但您的評論幫助我找到了解決方案。謝謝。 – akai

回答

0

好的,我可以解決這個問題,但實際上它有點複雜。我的服務器(在Linode上)只有接口eth0,該接口綁定到外部Internet,別名eth0:0綁定到專用網絡。因此,我不得不將network.host設置爲_eth0:0_,然而,這是does not work (maybe a bug)。因此,我將network.host改爲_site_,在這種情況下,似乎實際上轉換爲_eth0:0_。現在我有一個正確的羣集ES。

_global_也可能工作,但我猶豫使用它,因爲我不知道它是否安全。

相關問題