失败 Brew Elasticsearch 失败

Fails Brew Elasticsearch Failed

昨天通过 Brew 升级到 V7 现在 ES 无法启动:

OpenJDK 64-Bit Server VM warning: Ignoring option CMSInitiatingOccupancyFraction; support was removed in 14.0
OpenJDK 64-Bit Server VM warning: Ignoring option UseCMSInitiatingOccupancyOnly; support was removed in 14.0
Invalid -Xlog option '-Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m', see error log for details.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
    at org.elasticsearch.tools.launchers.JvmErgonomics.flagsFinal(JvmErgonomics.java:126)
    at org.elasticsearch.tools.launchers.JvmErgonomics.finalJvmOptions(JvmErgonomics.java:88)
    at org.elasticsearch.tools.launchers.JvmErgonomics.choose(JvmErgonomics.java:59)
    at org.elasticsearch.tools.launchers.JvmOptionsParser.jvmOptions(JvmOptionsParser.java:137)
    at org.elasticsearch.tools.launchers.JvmOptionsParser.main(JvmOptionsParser.java:95)

尝试重新安装和更新开发者工具。

我终于找到了一个疯狂的问题 - 我希望这对其他人有帮助。编辑此文件:

/usr/local/etc/elasticsearch/jvm.options

# JDK 9+ GC logging
9-:-Xlog:gc*,gc+age=trace,safepoint:file=/usr/local/var/log/elasticsearch/gc.log:utctime,pid,tags:filecount=32,filesize=64m
# due to internationalization enhancements in JDK 9 Elasticsearch need to set the provider to COMPAT otherwise
# time/date parsing will break in an incompatible way for some date patterns and locals
9-:-Djava.locale.providers=COMPAT

然后创建 /usr/local/var/log/elasticsearch/gc.log 文件。通过 brew (brew services restart elasticsearch) 重启 ES 就可以了