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