elasticsearch启动警告的修复方案 warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME“

本文讲述了作者在Windows10上部署SkyWalking时遇到的ES7.11启动错误,由于JAVA_HOME与推荐的ES_JAVA_HOME不兼容。通过分析elasticsearch-env.bat文件,发现解决方案是设置ES_JAVA_HOME为Elasticsearch安装目录下的jdk,从而解决了警告并成功启动ES.

最近在搞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,没有报错,问题解决!!!

我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

测试开发Kevin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值