在我们的服务器上,我们使用多个Java JDK。我无法改变这种情况,因为我们对较旧的Java版本具有依赖性。 因此,我无法启动当前的弹性搜索版本(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使用更新版本而不是旧版本?
答案 0 :(得分: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 :(得分:0)
更新sysconfig
是更好的方法,因此任何脚本都不会选择其他JDK。
就我而言,当我在/etc/sysconfig/elasticsearch
中更新elasticsearch配置时,它起作用了
这与https://www.elastic.co/guide/en/elasticsearch/reference/current/rpm.html