我正在为我的公司升级ElasticSearch。首先,我需要在我的机器上运行旧版本(1.1.2),该机器运行OSX Sierra(10.12.6)。我从我公司的存储库下载了elasticsearch@1.1.2
,但它没有正常启动。我明白了:
$ brew services list
Name Status User Plist
elasticsearch@1.1.2 started pjscopeland /Users/pjscopeland/Library/LaunchAgents/homebrew.mxcl.elasticsearch@1.1.2.plist
...但是Homebrew的状态“started
”是黄色的,其余的都是绿色的,如果我手动运行它,我会得到这个:
$ elasticsearch
Java HotSpot(TM) 64-Bit Server VM warning: Option UseParNewGC was deprecated in version 9.0 and will likely be removed in a future release.
Java HotSpot(TM) 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.elasticsearch.bootstrap.Bootstrap.main(Bootstrap.java:190)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:32)
Caused by: java.lang.UnsupportedOperationException: Boot class path mechanism is not supported
at java.management/sun.management.RuntimeImpl.getBootClassPath(RuntimeImpl.java:99)
at org.elasticsearch.monitor.jvm.JvmInfo.<clinit>(JvmInfo.java:77)
... 2 more
NB。请记住,我的Java技能处于可以阅读它的水平,但可能无法解决我可能需要改变的任何问题。
答案 0 :(得分:6)
看起来你安装了Java 9:
Java HotSpot(TM)64位服务器VM警告:选项UseParNewGC在版本9.0中已弃用,可能会在将来的版本中删除。
虽然ElasticSearch不支持它。
根据this matrix,从2.3到5.6的任何ES版本都不支持Java 9;最不可能列出ES 1.x,因为它不再受支持。
还有一个issue与logstash(ElasticSearch的一个组件)相关,具有类似的堆栈跟踪。
您发布的例外
引起:java.lang.UnsupportedOperationException:不支持引导类路径机制
表明您的JVM存在问题。例外情况发生在RuntimeImpl类。
我建议您查看生产计算机上安装的Java版本并将其安装在您的生产计算机上。有关如何在Mac上管理不同版本Java的提示,请参阅此SO question。
希望有所帮助!