ElasticsearchParseException:格式不正确,预期设置以"object"开头,改为[VALUE_STRING]



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

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

我明白了。

我更新了config/elasticsearch。下面为cluster.name和node.name添加Yml

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

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

我在:前后加了一个空格,它工作了!!

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

最佳实践是:键前不要有空格。另外在yml文件中定义键值是先放一个键,然后是空格,然后是冒号,然后是空格,然后是值。例如cluster.name: my_elastic_cluster

最新更新