如何使用多个JAVA JDK启动Elasticsearch服务

问题描述 投票:0回答:2

在我们的服务器上,我们使用多个Java JDK。我无法改变这种情况,因为我们对旧Java版本有依赖性。因此我无法启动当前的elasticsearch版本(1.5.2),因为它需要JDK> 1.7.0_55,尽管我们安装了其他版本,包括1.7.0_79。旧版本的可执行文件存储在/ bin下,而较新版本的可执行文件安装在/usr/jdk1.x.x_xx/bin中。我没有在/etc/elasticsearch/elasticsearch.yml中找到任何选项来设置java可执行文件的路径。我还尝试将环境变量$ PATH和$ JAVA_HOME设置为较新版本,但没有任何运气。有没有办法强制elasticsearch使用更新版本而不是旧版本?

java linux service elasticsearch daemon
2个回答
3
投票

转到用于启动elasticsearch的elasticsearch bash脚本。

如果您安装了RPM,它位于:

/usr/share/elasticsearch/bin/elasticsearch

然后搜索函数launch_service()在函数的第一行添加以下行:

JAVA=/usr/java/jdk1.8.0_25/bin/java

然后:

service elasticsearch restart

它将获取您在添加的行中设置的java版本。


1
投票

更新sysconfig是更好的方法,因此任何脚本都不会选择另一个JDK。在我的情况下,当我更新/etc/sysconfig/elasticsearch中的elasticsearch配置时,它有效。这与https://www.elastic.co/guide/en/elasticsearch/reference/current/rpm.html的建议非常相似

© www.soinside.com 2019 - 2024. All rights reserved.