目录
问题现象:
今日在测试机安装elasticsearch至创建用户这一步骤时,执行./elasticsearch-keystore create失败具体报错信息如下:
Exception in thread "main" SettingsException[Failed to load settings from [elasticsearch.yml]]; nested: MarkedYAMLException[while parsing a block mapping
in 'reader', line 2, column 1:
cluster.name: myapplication
^
expected <block end>, but found BlockMappingStart
in 'reader', line 4, column 2:
node.name: localhost
^
at [Source: sun.nio.ch.ChannelInputStream@7d9e8ef7; line: 2, column: 28]]; nested: ParserException[while parsing a block mapping
in 'reader', line 2, column 1:
cluster.name: myapplication
^
expected <block end>, but found BlockMappingStart
in 'reader', line 4, column 2:
node.name: localhost
^
];
at org.elasticsearch.common.settings.Settings$Builder.loadFromStream(Settings.java:1097)
at org.elasticsearch.common.settings.Settings$Builder.loadFromPath(Settings.java:1070)
at org.elasticsearch.node.InternalSettingsPreparer.prepareEnvironment(InternalSettingsPreparer.java:83)
at org.elasticsearch.cli.EnvironmentAwareCommand.createEnv(EnvironmentAwareCommand.java:100)
at org.elasticsearch.cli.EnvironmentAwareCommand.createEnv(EnvironmentAwareCommand.java:91)
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86)
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:125)
at org.elasticsearch.cli.MultiCommand.execute(MultiCommand.java:91)
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:125)
at org.elasticsearch.cli.Command.main(Command.java:90)
at org.elasticsearch.common.settings.KeyStoreCli.main(KeyStoreCli.java:41)
Caused by: com.fasterxml.jackson.dataformat.yaml.snakeyaml.error.MarkedYAMLException: while parsing a block mapping
in 'reader', line 2, column 1:
cluster.name: myapplication
^
expected <block end>, but found BlockMappingStart
in 'reader', line 4, column 2:
node.name: localhost
^
at [Source: sun.nio.ch.ChannelInputStream@7d9e8ef7; line: 2, column: 28]
at com.fasterxml.jackson.dataformat.yaml.snakeyaml.error.MarkedYAMLException.from(MarkedYAMLException.java:27)
at com.fasterxml.jackson.dataformat.yaml.YAMLParser.nextToken(YAMLParser.java:343)
at org.elasticsearch.common.xcontent.json.JsonXContentParser.nextToken(JsonXContentParser.java:52)
at org.elasticsearch.common.settings.Settings.fromXContent(Settings.java:645)
at org.elasticsearch.common.settings.Settings.fromXContent(Settings.java:620)
at org.elasticsearch.common.settings.Settings.access$400(Settings.java:82)
at org.elasticsearch.common.settings.Settings$Builder.loadFromStream(Settings.java:1093)
... 10 more
Caused by: while parsing a block mapping
in 'reader', line 2, column 1:
cluster.name: myapplication
^
expected <block end>, but found BlockMappingStart
in 'reader', line 4, column 2:
node.name: localhost
^
at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(ParserImpl.java:569)
at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:157)
at org.yaml.snakeyaml.parser.ParserImpl.getEvent(ParserImpl.java:167)
at com.fasterxml.jackson.dataformat.yaml.YAMLParser.nextToken(YAMLParser.java:340)
... 15 more
问题分析:
在编辑配置文件elasticsearch.yml时,配置项所在行开头没有空格,导致./elasticsearch-keystore create执行失败

解决方法:
在编辑配置文件elasticsearch.yml时,每个配置项所在行开头都添加一个空格,问题解决!!

总结:
这是elasticsearch的一个bug,也是很多人容易犯的错误,注意空格的使用,每个配合项冒号后面也要有一个空格。
在尝试为Elasticsearch集群创建用户时遇到错误,执行`./elasticsearch-keystore create`失败。问题源于配置文件elasticsearch.yml中配置项缺少前导空格。修正方法是确保每个配置项行首添加一个空格,此问题已解决。

471

被折叠的 条评论
为什么被折叠?



