1、future versions of Elasticsearch will require Java 11; your Java version from [D:javajdk1.8.0_201jre] 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%injava.exe" ) else ( set JAVA="%ES_HOME%jdkinjava.exe" set JAVA_HOME="%ES_HOME%jdk" )
改成
if defined JAVA_HOME ( set JAVA="%ES_JDK%injava.exe" ) else ( set JAVA="%ES_HOME%jdkinjava.exe" set JAVA_HOME="%ES_HOME%jdk" )
方法二(推荐:简单):
将elasticsearch-env.bat 这个文件
将以下内容:
if defined JAVA_HOME ( set JAVA="%JAVA_HOME%injava.exe" ) else ( set JAVA="%ES_HOME%jdkinjava.exe" set JAVA_HOME="%ES_HOME%jdk" )
直接改成:
set JAVA="%ES_HOME%jdkinjava.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