将Mac操作系统升级到Venture后导致ElasticSearch无法运行的问题的解决办法
当你像往常一样尝试启动elasticsearch时,却出现了“无法在/opt/homebrew/Cellar/elasticsearch-full/7.17.4/libexec/jdk.app/Contents/Home/bin/java中找到捆绑的JDK中的Java”的错误信息。同时,还有一个异常错误指出“安全管理器(Security Manager)已被弃用,并将在将来的版本中删除。在java.base/java.lang.System.setSecurityManager(System.java:425)处”,也就是在org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:82)中。对于这些错误信息,想必你感到非常惊讶。
简述
如果将Mac的操作系统升级到Venture,似乎会出现ElasticSearch无法运行的问题。
简而言之,我们能够解决问题是基于以下两个评论作为参考。
重新安装ES
卸载Mac上的标准Java并且
Java11的重新安装,和
我已经安装了OpenJDK 11。
我累了。
解决步骤
这主要是关于Issue的翻译。
1,复制JAVA的路径。
/usr/libexec/java_home
# PATHをコピーしておく
>> /usr/local/Cellar/openjdk@11/11.0.18/libexec/openjdk.jdk/Contents/Home
编辑2 ~ / homebrew.mxcl.elasticsearch-full.plist
在”に続く、elasticsearch-full/バージョン情報”下找不到捆绑的JDK中的Java。请编辑”homebrew.mxcl.elasticsearch-full.plist”。
vim /opt/homebrew/Cellar/elasticsearch-full/7.17.4/homebrew.mxcl.elasticsearch-full.plist
在文件中添加以下内容。
<key>EnvironmentVariables</key>
<dict>
<key>ES_JAVA_HOME</key>
<string>「コピーしたJAVAのPATH」</string>
</dict>
三
vim /opt/homebrew/etc/elasticsearch/elasticsearch.yml
请在文件的末尾添加以下内容。
xpack.ml.enabled: false
四
export ES_JAVA_HOME=$(/usr/libexec/java_home)
5,执行source ~/.bash_profile或者source ~/.zshrc。
6,重新启动ES。
# プロセスをkill
ps aux | grep 'elastic' | grep -v grep | awk '{ print "kill -9", $2 }' | sh
# ES起動
elasticsearch
如果动了的话,恭喜你。
如果没有动,你可以像我一样先重新安装 ES 再开始。
祝好运!
我真的没有想到因为操作系统升级导致ES无法运行,所以相当着急。
这次即使说”明明什么都没做就坏了”应该也会被原谅吧。
在这个场合下,我还真是庆幸会读英语啊!!!!这个名叫DiQt的应用真是厉害啊,可以高效地记忆词汇呢!!!!(广告)
如果在/usr/local/Cellar/elasticsearch-full/7.17.4/libexec/jdk.app/Contents/Home/bin/java的捆绑JDK中找不到Java的话。
过了一段时间,它又停止运行了,原因是在/usr/local/Cellar/elasticsearch-full/7.17.4/libexec/jdk.app/Contents/Home/bin/java中无法找到捆绑的JDK中的Java。
如果Homebrew安装在/usr/local/Cellar而不是/opt/homebrew/Cellar的话,执行以下操作可以使其正常运行。
/usr/libexec/java_home
# PATHをコピーしておく
>> /usr/local/Cellar/openjdk@11/11.0.18/libexec/openjdk.jdk/Contents/Home
在找到的bundled JDK中找不到Java,您需要编辑位于に続く、elasticsearch-full/バージョン情報以下的homebrew.mxcl.elasticsearch-full.plist文件。
vim /usr/local/Cellar/elasticsearch-full/7.17.4/homebrew.mxcl.elasticsearch-full.plist
在文件中追加以下内容。
<key>EnvironmentVariables</key>
<dict>
<key>ES_JAVA_HOME</key>
<string>「コピーしたJAVAのPATH」</string>
</dict>
最后一个咒语。
export ES_JAVA_HOME=$(/usr/libexec/java_home)
source ~/.bash_profile
请参阅以下内容:
嗯,雖然我做了很多其他事情,所以沒有把握,但這只是備忘錄。