es和jdk是一個強依賴的關(guān)系,所以當我們在新版本的ElasticSearch壓縮包中包含有自帶的jdk,但是當我們的Linux中已經(jīng)安裝了jdk之后,就會發(fā)現(xiàn)啟動es的時候優(yōu)先去找的是Linux中已經(jīng)裝好的jdk,此時如果jdk的版本不一致,就會造成jdk不能正常運行,報錯如下:
warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME
Future versions of Elasticsearch will require Java 11; your Java version from [/usr/local/jdk1.8.0_291/jre] does not meet this requirement. Consider switching to a distribution of Elasticsearch with a bundled JDK. If you are already using a distribution with a bundled JDK, ensure the JAVA_HOME environment variable is not set.
如果Linux服務(wù)本來沒有配置jdk,則會直接使用es目錄下默認的jdk,反而不會報錯。文章來源:http://www.zghlxwxcb.cn/news/detail-742183.html
解決辦法
1. 進入bin目錄文章來源地址http://www.zghlxwxcb.cn/news/detail-742183.html
1. 進入bin目錄
cd /usr/local/elasticsearch-7.14.0/bin
2.修改elasticsearch-env配置
vim ./elasticsearch-env
# 將jdk修改為es中自帶jdk的配置目錄,es自帶的jdk位置/usr/local/es/elasticsearch-7.14.0/jdk
# now make ES_HOME absolute
ES_HOME=`cd "$ES_HOME"; pwd`
while [ "`basename "$ES_HOME"`" != "bin" ]; do
ES_HOME=`dirname "$ES_HOME"`
done
ES_HOME=`dirname "$ES_HOME"`
# now set the classpath
ES_CLASSPATH="$ES_HOME/lib/*"
# now set the path to java
if [ ! -z "$ES_JAVA_HOME" ]; then
JAVA="$ES_JAVA_HOME/bin/java"
JAVA_TYPE="ES_JAVA_HOME"
elif [ ! -z "$JAVA_HOME" ]; then
# fallback to JAVA_HOME
echo "warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME" >&2
#JAVA="$JAVA_HOME/bin/java"
# 將jdk修改為es中自帶jdk的配置目錄
JAVA="/usr/local/es/elasticsearch-7.14.0/jdk/bin/java"
JAVA_TYPE="JAVA_HOME"
else
# use the bundled JDK (default)
if [ "$(uname -s)" = "Darwin" ]; then
# macOS has a different structure
#JAVA="$ES_HOME/jdk.app/Contents/Home/bin/java"
# 將jdk修改為es中自帶jdk的配置目錄
JAVA="/usr/local/es/elasticsearch-7.14.0/jdk/bin/java"
else
#JAVA="$ES_HOME/jdk/bin/java"
# 將jdk修改為es中自帶jdk的配置目錄
JAVA="/usr/local/es/elasticsearch-7.14.0/jdk/bin/java"
fi
JAVA_TYPE="bundled JDK"
fi
到了這里,關(guān)于ElasticSearch--warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!