📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

版本: 6.8-8.1

简要来说,当您使用过时的配置文件格式 elasticsearch.json 时会出现此错误,该格式在 Elasticsearch 5.5.0 版本中已被弃用。Elasticsearch 现在使用 .yml(YAML)格式作为其配置文件。要解决此问题,您需要将现有的 elasticsearch.json 文件转换为 elasticsearch.yml。这涉及将 JSON 语法转换为 YAML 语法。请注意缩进,因为 YAML 需要正确的缩进来表示结构。转换完成后,在配置目录中用新的 .yml 文件替换旧的 .json 文件。

日志上下文 #

日志 “elasticsearch.json was deprecated in 5.5.0 and must be converted to elasticsearch.yml” 的类名是 InternalSettingsPreparer.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人使用:

if (Files.exists(environment.configFile().resolve("elasticsearch.yaml"))) {
 throw new SettingsException("elasticsearch.yaml was deprecated in 5.5.0 and must be renamed to elasticsearch.yml");
 }  if (Files.exists(environment.configFile().resolve("elasticsearch.json"))) {
 throw new SettingsException("elasticsearch.json was deprecated in 5.5.0 and must be converted to elasticsearch.yml");
 }  output = Settings.builder(); // start with a fresh output
 Path path = environment.configFile().resolve("elasticsearch.yml");
 if (Files.exists(path)) {