2015-02-12 46 views
6

我有一臺運行elasticsearch和kibana的服務器。我添加了第二個節點來形成一個集羣,但只希望第二個節點從主節點複製數據。Elasticsearch集羣 - 沒有已知的主節點,安排重試

根據對如何做到這一點有限的文件,我遇到了問題,在第二與下面的錯誤

[DEBUG][action.admin.indices.get ] [Match] no known master node, scheduling a retry 

我無法確定最佳配置兩臺服務器來實現這一點,但這個是我迄今所做的:

主節點配置:

cluster.name: elasticsearch 
node.master: true 
path.data: /local00/elasticsearch/ 
path.work: /local00/el_temp/ 
network.host: 0.0.0.0 
http.port: 9200 
script.disable_dynamic: true 

節點2

cluster.name: elasticsearch 
node.master: false 
node.data: true 
index.number_of_shards: 5 
index.number_of_replicas: 1 
path.data: /local00/elasticsearch/ 
path.work: /local00/el_temp/ 
network.host: 0.0.0.0 
http.port: 9200 
script.disable_dynamic: true 

我假設我缺少額外的配置的地方。任何幫助都感激不盡。

回答

6

得到它具有以下變化在這裏工作How to set up ES cluster?回答:

節點1:

cluster.name: mycluster 
node.name: "node1" 
node.master: true 
node.data: true 
discovery.zen.ping.multicast.enabled: false 
discovery.zen.ping.unicast.hosts: ["node1.example.com"] 

節點2:

cluster.name: mycluster 
node.name: "node2" 
node.master: false 
node.data: true 
discovery.zen.ping.multicast.enabled: false 
discovery.zen.ping.unicast.hosts: ["node1.example.com"] 
1

如果你試圖連接額外的節點已經存在的胚胎幹請確保此節點也具有與其他節點相同的ES插件。如果沒有 - 點不能被完全連接(其他節點可以顯示它連接,但HTTP的命令,不能在其上推出),以ES集羣錯誤,如:

[2016-07-21 11:56:59,564][DEBUG][action.admin.cluster.health] [dev-marvel1] no known master node, scheduling a retry 
[2016-07-21 11:57:05,313][INFO ][rest.suppressed   ] /_cluster/health Params: {pretty=true} 
MasterNotDiscoveredException[waited for [30s]] 
     at org.elasticsearch.action.support.master.TransportMasterNodeAction$4.onTimeout(TransportMasterNodeAction.java:154) 
     at org.elasticsearch.cluster.ClusterStateObserver$ObserverClusterStateListener.onTimeout(ClusterStateObserver.java:239) 
     at org.elasticsearch.cluster.service.InternalClusterService$NotifyTimeout.run(InternalClusterService.java:574) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
     at java.lang.Thread.run(Thread.java:745) 

在我的情況的問題是有執照的插件。刪除後,一切都變好了。

+0

這解決了我的問題!我現有的節點有新節點沒有的奇蹟插件。新節點顯示在節點列表中,當查看kopf或頭在現有節點上時,但在查看新節點的這些插件時,羣集中的其他舊節點不顯示,並且新節點不會獲得任何碎片。現在的問題是,我可以將插件添加到新節點來修復它,但是我看不到一種方法可以在沒有完全重新啓動集羣的情況下從整個集羣中刪除它們。任何節點,我刪除它們然後重新啓動將無法正確加入,所以我實際上不能刪除它們... – redstonemercury 2018-01-30 00:03:31