1、future versions of Elasticsearch will require Java 11; your Java version from [D:\java\jdk1.8.0_201\jre] does not meet this requirement
開發時用的是jdk1.8,所示ElasticSearch啟動時會有這個提示。ElasticSearch還是能正常使用。
找到elasticsearch.bat這個文件,發現調用了elasticsearch-env.bat
代碼如下 39左右:
CALL "%~dp0elasticsearch-env.bat" || exit /b 1
方法一:
打開elasticsearch-env.bat 這個文件,
將
if defined JAVA_HOME ( set JAVA="%JAVA_HOME%\bin\java.exe" ) else ( set JAVA="%ES_HOME%\jdk\bin\java.exe" set JAVA_HOME="%ES_HOME%\jdk" )
改成
if defined JAVA_HOME ( set JAVA="%ES_JDK%\bin\java.exe" ) else ( set JAVA="%ES_HOME%\jdk\bin\java.exe" set JAVA_HOME="%ES_HOME%\jdk" )
方法二(推薦:簡單):
將elasticsearch-env.bat 這個文件
將以下內容:
if defined JAVA_HOME ( set JAVA="%JAVA_HOME%\bin\java.exe" ) else ( set JAVA="%ES_HOME%\jdk\bin\java.exe" set JAVA_HOME="%ES_HOME%\jdk" )
直接改成:
set JAVA="%ES_HOME%\jdk\bin\java.exe" set JAVA_HOME="%ES_HOME%\jdk"
也就用elasticsearch自帶的jdk,不需要下載jdk11了!
2、這時又會出現另一個警告
OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
解決辦法:
找到jvm.options配置文件
將以下內容 :35行--38行左右
## GC configuration -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly
改成
## GC configuration -XX:+UseG1GC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly
注意:每一行末尾不能有空格,不然讀取不了配置文件