Elasticsearch启动报错:your Java version from [/opt/jdk1.8.0_251/jre] does not meet this requirement

1.原因

出现如题所示的错误时,是因为Elasticsearch对JDK版本有要求。而我们可能习惯性的安装的是目前较为主流的1.7或1.8版本的JDK。所以与Elasticsearch的要求版本无法对应。先上一张对应图:

我目前使用的是Elasticsearch的7.7版本,所以对应需要用到OpenJDK11.

2.解决方法

①安装JDK11

wget https://download.java.net/java/GA/jdk11/13/GPL/openjdk-11.0.1_linux-x64_bin.tar.gz

下载完毕之后使用tar -zvxf openjdk-11.0.1_linux-x64_bin.tar.gz 解压出来

②使用vim es/bin/elasticsearch (路径用自己的)  添加如下配置:

#配置自己的jdk11
export JAVA_HOME=/opt/jdk-11.0.1
export PATH=$JAVA_HOME/bin:$PATH


#添加jdk判断
if [ -x "$JAVA_HOME/bin/java" ]; then
        JAVA="/opt/jdk-11.0.1/bin/java"
else
        JAVA=`which java`
fi

③再使用es/bin/elasticsearch -d 后台启动es。通过curl 'http://127.0.0.1:9200/?pretty'查看启动情况:

出现如上信息,就说明es已经正常启动了!

 

3.补充

启动es时,可能出现

OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.

警告信息,这是提醒你 cms 垃圾收集器在 jdk9 就开始被标注为 @deprecated

解决方式:将将 : -XX:+UseConcMarkSweepGC  改为:-XX:+UseG1GC

 

参考链接:

https://blog.csdn.net/qq_43467990/article/details/102743763

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章