Elastic Search 立即在 Mac 结束

Elastic Search Immediately Dies on Mac

我今天下载了elasticsearch。当我尝试 运行 它时,它立即被杀死并显示以下消息:

Johnathans-MacBook-Pro:Downloads jward$ ./elasticsearch-7.6.1/bin/elasticsearch
./elasticsearch-7.6.1/bin/elasticsearch-env: line 71: 12909 Killed: 9               
"$JAVA" -cp "$ES_CLASSPATH" org.elasticsearch.tools.java_version_checker.JavaVersionChecker

我的 java 版本是:

java version "11.0.6" 2020-01-14 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.6+8-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.6+8-LTS, mixed mode)

elasticsearch服务为什么不启动?

如果您的 java 版本与 Elasticsearch 捆绑包附带的版本不同,它将无法启动。参考以下文件:

https://www.elastic.co/guide/en/elasticsearch/reference/current/setup.html

Elasticsearch 无法识别您的 Java 版本,这就是它失败的原因。请查看您的日志,错误是从下面 class 抛出的,您可以从下面的源代码中查看。

https://github.com/elastic/elasticsearch/blob/master/distribution/tools/java-version-checker/src/main/java/org/elasticsearch/tools/java_version_checker/JavaVersionChecker.java#L28 你可以看看这个 class,它所做的只是 checks if the runtime Java version is at least 1.8..

在你的情况下它是 java 11,所以 java 版本不是问题,问题在于 Elasticsearch 没有识别。

如果使用最新的 Mac OS Catalina,您需要在 ~/.zshrc 中设置正确的 JAVA_HOME,因为它们已移至 ~/.zshrc我看到您只提到了 JAVA_HOME=$(/usr/libexec/java_home),但在此之前没有看到 EXPORT。所以请在下面添加行。

EXPORT JAVA_HOME=$(/usr/libexec/java_home) 

之后 source ~/.zshrc 然后关闭终端并查看 java -version 的输出,如果它显示 java 11 版本那么你很高兴 运行再次使用 elasticsearch。

希望这对您有所帮助,如果您还有其他问题,请告诉我。