2016-05-03 64 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