如何在不修改JAVA_HOME的情况下为Elasticsearch 5.4指定JDK 1.8路径?
如何在不修改JAVA_HOME的情况下让Elasticsearch 5.4使用JDK 1.8?
刚好碰到过一模一样的场景!不用动服务器全局的JAVA_HOME,直接修改Elasticsearch的启动脚本就能搞定,步骤很简单:
1. 找到目标脚本
进入你的Elasticsearch安装目录,找到bin子文件夹:
- 如果你用的是Linux/macOS服务器,找名为
elasticsearch的shell脚本 - 若是Windows服务器,则找
elasticsearch.bat(不过远程服务器大概率是Linux)
2. 修改脚本指定JDK路径
打开这个脚本文件,在最开头的位置(脚本初始化环境变量的部分),添加一行来指定你的JDK 1.8路径。两种方式都可以:
- 方式一:直接设置JAVA_HOME变量
export JAVA_HOME=/usr/local/jdk1.8.0_xxx - 方式二:直接指定java可执行文件的绝对路径
export JAVA=/usr/local/jdk1.8.0_xxx/bin/java
Elasticsearch的启动脚本会优先读取自己内部定义的JAVA/JAVA_HOME变量,完全不会受系统全局JAVA_HOME的影响,这样就不会干扰服务器上其他依赖JDK 1.7的程序了。
3. 验证设置是否生效
修改完脚本后,记得确保脚本有执行权限(如果需要的话):
chmod +x elasticsearch
然后启动Elasticsearch,通过日志或者执行以下命令查看JDK版本:
./elasticsearch --version
启动日志里会显示当前使用的JDK版本,确认是1.8就没问题了。
内容的提问来源于stack exchange,提问作者YK mar
相关产品推荐
相关产品推荐

