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

注意:每一行末尾不能有空格,不然读取不了配置文件

文档更新时间: 2021-09-22 09:35   作者:admin