2016-05-03 106 views
0

我是Elasticsearch的新手,我試圖在Elasticsearch中設置一個部落節點。 對不起,如果問題不是很聰明,但我需要幫助。Elasticsearch部落節點配置

我使用在RHEL Server 6.6和Java 1.7.8上運行的Elasticserach 2.3.1。 我有2個羣集,每個羣集中有1個主節點和1個數據節點。

當我嘗試設置和啓動第1組中的一個部落的節點,我得到的錯誤:

我的部落節點設置爲:

tribe: 
sample-cluster1: 
cluster.name: sample-cluster1 
discovery.zen.ping.unicast.hosts: ["host1", "host2"] 
discovery.zen.ping.multicast.enabled: false 
sample-cluster2: 
cluster.name: sample-cluster2 
discovery.zen.ping.unicast.hosts: ["host3", "host4"] 
discovery.zen.ping.multicast.enabled: false 

我收到以下錯誤:

Exception in thread "main" SettingsException[Failed to load settings from [elasticsearch.yml]]; nested: ElasticsearchParseException[duplicate settings key [cluster.name] found at line number [34], column number [16], previous value [sample-cluster1], current value [sample-cluster2]]; 
Likely root cause: ElasticsearchParseException[duplicate settings key [cluster.name] found at line number [34], column number [16], previous value [sample-cluster1], current value [sample-cluster2]] 
     at org.elasticsearch.common.settings.loader.XContentSettingsLoader.serializeValue(XContentSettingsLoader.java:151) 
     at org.elasticsearch.common.settings.loader.XContentSettingsLoader.serializeObject(XContentSettingsLoader.java:109) 
     at org.elasticsearch.common.settings.loader.XContentSettingsLoader.load(XContentSettingsLoader.java:67) 
     at org.elasticsearch.common.settings.loader.XContentSettingsLoader.load(XContentSettingsLoader.java:45) 
     at org.elasticsearch.common.settings.loader.YamlSettingsLoader.load(YamlSettingsLoader.java:46) 
     at org.elasticsearch.common.settings.Settings$Builder.loadFromStream(Settings.java:1071) 
     at org.elasticsearch.common.settings.Settings$Builder.loadFromPath(Settings.java:1058) 
     at org.elasticsearch.node.internal.InternalSettingsPreparer.prepareEnvironment(InternalSettingsPreparer.java:88) 
     at org.elasticsearch.bootstrap.Bootstrap.initialSettings(Bootstrap.java:202) 
     at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:241) 
     at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35) 

但是,如果我在第二個羣集設置中更改配置,則不會出現錯誤並且服務器啓動:

我修改的設置:

sample-cluster1: 
cluster.name: sample-cluster1 
discovery.zen.ping.unicast.hosts: ["host1", "host2"] 
discovery.zen.ping.multicast.enabled: false 
sample-cluster2: 
cluster.name1: sample-cluster2 
discovery.zen.ping.unicast.hosts1: ["host3", "host4"] 
discovery.zen.ping.multicast.enabled1: false 

我不知道我在第一configuaration的思念,如果第二configuation是正確的。我假設我無法更改彈性搜索鍵:

cluster.name to cluster.name1 
discovery.zen.ping.unicast.hosts to discovery.zen.ping.unicast.hosts1 
discovery.zen.ping.multicast.enabled to discovery.zen.ping.multicast.enabled1 
+0

我會說,請嘗試刪除'discovery.zen.ping.multicast.enabled:FALSE'從配置,如果其高達那麼好,別人看到,在集羣能夠談刪除'discovery.zen。 ping.unicast.hosts:'然後再試一次 –

回答

0

找到了修復程序,它現在可以工作。這是一個愚蠢的錯誤。 解決方法是我必須爲第二個羣集配置中的所有參數添加一個額外的空白。

sample-cluster1: 
cluster.name: sample-cluster1 
discovery.zen.ping.unicast.hosts: ["host1", "host2"] 
discovery.zen.ping.multicast.enabled: false 
sample-cluster2: 
    cluster.name: sample-cluster2 
    discovery.zen.ping.unicast.hosts: ["host3", "host4"] 
    discovery.zen.ping.multicast.enabled: false