启动弹性搜索服务器时出现以下异常
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
答案 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