使用自制软件升级 Elasticsearch 7.3
Elasticsearch 7.3 upgrade with homebrew
我正在通过自制软件使用 Elasticsearch 6.8,我正在尝试升级到 7.3。以前,在 6.8 上我已经收到关于日志文件不存在的警告,但服务器仍然 运行 - 所以我什么也没做。
现在使用 7.3,我得到一个错误,服务器不会 运行:
Exception in thread "main" java.lang.RuntimeException: starting java failed with [1]
output:
[0.002s][error][logging] Error opening log file 'logs/gc.log': No such file or directory
[0.002s][error][logging] Initialization of output 'file=logs/gc.log' using options 'filecount=32,filesize=64m' failed.
error:
OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
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:111)
at org.elasticsearch.tools.launchers.JvmErgonomics.finalJvmOptions(JvmErgonomics.java:79)
at org.elasticsearch.tools.launchers.JvmErgonomics.choose(JvmErgonomics.java:57)
at org.elasticsearch.tools.launchers.JvmOptionsParser.main(JvmOptionsParser.java:89)
我尝试在安装了 elasticsearch 的地方创建 dir/file,但这对我不起作用(或者我做错了什么)。
参考:https://onecompiler.com/questions/3uwszcf3x/homebrew-installed-elasticsearch-failing-to-start
我已通过将相对 logs/gc.log 路径更改为绝对路径来解决此问题。按照以下步骤解决问题
打开位于 /usr/local/etc/elasticsearch/jvm.options
的 jvm.options 文件
将相对路径改为绝对路径
来自以下
# JDK 9+ GC logging
9-:-Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m
至
# 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
- 重新启动 elasticsearch
$ brew services restart elasticsearch-full
或在没有守护进程的情况下启动它 - $ elasticsearch
我正在通过自制软件使用 Elasticsearch 6.8,我正在尝试升级到 7.3。以前,在 6.8 上我已经收到关于日志文件不存在的警告,但服务器仍然 运行 - 所以我什么也没做。
现在使用 7.3,我得到一个错误,服务器不会 运行:
Exception in thread "main" java.lang.RuntimeException: starting java failed with [1]
output:
[0.002s][error][logging] Error opening log file 'logs/gc.log': No such file or directory
[0.002s][error][logging] Initialization of output 'file=logs/gc.log' using options 'filecount=32,filesize=64m' failed.
error:
OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
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:111)
at org.elasticsearch.tools.launchers.JvmErgonomics.finalJvmOptions(JvmErgonomics.java:79)
at org.elasticsearch.tools.launchers.JvmErgonomics.choose(JvmErgonomics.java:57)
at org.elasticsearch.tools.launchers.JvmOptionsParser.main(JvmOptionsParser.java:89)
我尝试在安装了 elasticsearch 的地方创建 dir/file,但这对我不起作用(或者我做错了什么)。
参考:https://onecompiler.com/questions/3uwszcf3x/homebrew-installed-elasticsearch-failing-to-start
我已通过将相对 logs/gc.log 路径更改为绝对路径来解决此问题。按照以下步骤解决问题
打开位于 /usr/local/etc/elasticsearch/jvm.options
的 jvm.options 文件
将相对路径改为绝对路径 来自以下
# JDK 9+ GC logging
9-:-Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m
至
# 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
- 重新启动 elasticsearch
$ brew services restart elasticsearch-full
或在没有守护进程的情况下启动它 -$ elasticsearch