ElasticsearchParseException:格式错误的预期设置以' object'开头,而是[VALUE_STRING]

时间:2015-08-21 20:05:01

标签: elasticsearch

启动弹性搜索服务器时出现以下异常

Exception in thread "main" org.elasticsearch.common.settings.SettingsException: Failed to load settings from [file:/usr/local/elasticsearch-1.7.1/config/elasticsearch.yml]
        at org.elasticsearch.common.settings.ImmutableSettings$Builder.loadFromStream(ImmutableSettings.java:985)
        at org.elasticsearch.common.settings.ImmutableSettings$Builder.loadFromUrl(ImmutableSettings.java:969)
        at org.elasticsearch.node.internal.InternalSettingsPreparer.prepareSettings(InternalSettingsPreparer.java:95)
        at org.elasticsearch.plugins.PluginManager.main(PluginManager.java:396)
Caused by: org.elasticsearch.ElasticsearchParseException: malformed, expected settings to start with 'object', instead was [VALUE_STRING]
        at org.elasticsearch.common.settings.loader.XContentSettingsLoader.load(XContentSettingsLoader.java:66)
        at org.elasticsearch.common.settings.loader.XContentSettingsLoader.load(XContentSettingsLoader.java:46)
        at org.elasticsearch.common.settings.loader.YamlSettingsLoader.load(YamlSettingsLoader.java:46)
        at org.elasticsearch.common.settings.ImmutableSettings$Builder.loadFromStream(ImmutableSettings.java:982)
        ... 3 more

2 个答案:

答案 0 :(得分:12)

我遇到了这个问题。

我更新了cluster.name和node.name的config / elasticsearch.yml,如下所示

cluster.name:my_elastic_cluster  
node.name:"EL1_NODE"
  

但是看起来解析器并不喜欢这种格式。它需要空间   ":" 分隔符

我在之前和之后添加了一个空格,它确实有效!

> cluster.name : my_elastic_cluster  
> node.name : "EL1_NODE"

答案 1 :(得分:3)

最佳做法是:不要在任何钥匙前放置任何空格。另外在yml文件中定义一个键值是先放一个键然后再放一个空格,再放一个冒号再放一个空格,再取值。 例如cluster.name:my_elastic_cluster