最近在搞skywalking,在windows10 上進行skywalking功能初步的驗證,部署應用版本信息如下:
jdk1.8(windows上的JAVA_HOME)+oap 9.3.0 +es7.11
ES啟動錯誤分析
在環境搭建之前查閱相關資料說明es7要求最低的java版本是 11并且自身攜帶jdk。
(目錄:\elasticsearch-7.17.0\jdk)es7運行時無需關注系統本身的jdk版本問題,但是當我啟動es時(bin\elasticsearch.bat)警告如下:
"warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME"
Future versions of Elasticsearch will require Java 11; your Java version from [C:\Program Files\Java\jdk1.8.0_151\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.
該如何解決呢?在這里分享一下我的解決方法,幫助閱讀文章的小伙伴避坑。
我看了一下bin 目錄中的elasticsearch-env.bat 文件,其中下面這段代碼說明了jdk的使用邏輯
if defined ES_JAVA_HOME (
? set JAVA="%ES_JAVA_HOME%\bin\java.exe"
? set JAVA_TYPE=ES_JAVA_HOME
) else if defined JAVA_HOME (
? rem fallback to JAVA_HOME
? echo "warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME" >&2
? set JAVA="%JAVA_HOME%\bin\java.exe"
? set "ES_JAVA_HOME=%JAVA_HOME%"
? set JAVA_TYPE=JAVA_HOME
) else (
? rem use the bundled JDK (default)
? set JAVA="%ES_HOME%\jdk\bin\java.exe"
? set "ES_JAVA_HOME=%ES_HOME%\jdk"
? set JAVA_TYPE=bundled JDK
)
解決方案
從上面這段代碼中,找到解決方案如下:
設置 ES_JAVA_HOME ,指定\elasticsearch-7.17.0\jdk 即可
再次啟動es,沒有報錯,問題解決!!!
我的每一篇文章都希望幫助讀者解決實際工作中遇到的問題!如果文章幫到了您,勞煩點贊、收藏、轉發!您的鼓勵是我不斷更新文章最大的動力!