首先在windows下启动服务时会出现如下界面:
Exception in thread "main" 2021-01-18 08:50:19,700 main ERROR No Log4j 2 configuration file found. Using default configuration (logging only errors to the console), or user programmatically provided configurations. Set system property 'log4j2.debug' to show Log4j 2 internal initialization logging. See https://logging.apache.org/log4j/2.x/manual/configuration.html for instructions on how to configure Log4j 2
SettingsException[Failed to load settings from [elasticsearch.yml]]; nested: YAMLException[java.io.CharConversionException: Invalid UTF-8 middle byte 0xcf (at char #787, byte #-1)]; nested: CharConversionException[Invalid UTF-8 middle byte 0xcf (at char #787, byte #-1)];
at org.elasticsearch.common.settings.Settings$Builder.loadFromStream(Settings.java:1139)
at org.elasticsearch.common.settings.Settings$Builder.loadFromPath(Settings.java:1112)
at org.elasticsearch.node.InternalSettingsPreparer.prepareEnvironment(InternalSettingsPreparer.java:100)
at org.elasticsearch.cli.EnvironmentAwareCommand.createEnv(EnvironmentAwareCommand.java:95)
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86)
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124)
at org.elasticsearch.cli.Command.main(Command.java:90)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:116)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93)
Caused by: org.yaml.snakeyaml.error.YAMLException: java.io.CharConversionException: Invalid UTF-8 middle byte 0xcf (at char #787, byte #-1)
at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:200)
at org.yaml.snakeyaml.reader.StreamReader.<init>(StreamReader.java:60)
at com.fasterxml.jackson.dataformat.yaml.YAMLParser.<init>(YAMLParser.java:152)
at com.fasterxml.jackson.dataformat.yaml.YAMLFactory._createParser(YAMLFactory.java:420)
at com.fasterxml.jackson.dataformat.yaml.YAMLFactory.createParser(YAMLFactory.java:321)
at org.elasticsearch.common.xcontent.yaml.YamlXContent.createParser(YamlXContent.java:85)
at org.elasticsearch.common.settings.Settings$Builder.loadFromStream(Settings.java:1129)
... 8 more
Caused by: java.io.CharConversionException: Invalid UTF-8 middle byte 0xcf (at char #787, byte #-1)
at com.fasterxml.jackson.dataformat.yaml.UTF8Reader.reportInvalidOther(UTF8Reader.java:394)
at com.fasterxml.jackson.dataformat.yaml.UTF8Reader.read(UTF8Reader.java:253)
at com.fasterxml.jackson.dataformat.yaml.UTF8Reader.read(UTF8Reader.java:148)
at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:184)
... 14 more
然后我们看Caused by 根本原因是 UTF-8字符集编码问题,根据问题找答案。
出现这种情况使我们在编辑配置文件时所用的软件是中文编码所导致的。
在我打开ES配置文件elasticsearch.yml时使用的Notepad++的编码方式并不是UTF-8,且由于我加了中文注释的缘故(虽然已经注释掉),还是会导致编
码发生问题。
解决方案:
1、将中文注释全部删掉
解决方案:
2、修改你所使用的编辑文件工具的编码方式为UTF-8即可