繁体   English   中英

Elasticsearch 与旧 java 版本一起运行

[英]Elasticsearch is running with old java version

我最近在 elasticsearch 从节点中升级了 elasticsearch 版本。 即使我设置了$JAVA_HOME变量,它仍然选择了错误的 java 版本。

[igwuser@hbase3 ~]$ sudo systemctl status elasticsearch
● elasticsearch.service - Elasticsearch
   Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2020-05-01 12:06:09 +08; 11min ago
     Docs: http://www.elastic.co
 Main PID: 15809 (java)
   CGroup: /system.slice/elasticsearch.service
           ├─15809 /opt/jdk1.8.0_151/bin/java -Xms15g -Xmx15g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=...
           └─15893 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller

May 01 12:06:09 hbase3.api.celcom.com.my systemd[1]: Started Elasticsearch.
May 01 12:06:09 hbase3.api.celcom.com.my elasticsearch[15809]: Java HotSpot(TM) 64-Bit Server VM warning: Cannot open file /var/log/elasticsearch/gc.log due to Permission denied
[igwuser@hbase3 ~]$ 
[igwuser@hbase3 ~]$ 
[igwuser@hbase3 ~]$ echo $JAVA_HOME
/usr/java/jdk1.8.0_251-amd64/
[igwuser@hbase3 ~]$ 

正如日志中提到的,您的 elasticsearch 服务正在使用路径/opt/jdk1.8.0_151/bin/java中存在的 JDK,而您的JAVA_HOME指向/usr/java/jdk1.8.0_251-amd64/

请确保您的 elasticsearch 服务使用正确的路径。 请参阅此官方信息以了解如何设置它。

编辑Elasticsearch 安装是使用安装程序完成的,它由 elasticsearch 用户拥有,该用户使用我之前链接中提到的捆绑 JDK,为了使其工作,您需要将新的 JDK JAVA_HOME添加到该用户,但这并不简单

Hence would suggest installing Elasticsearch from tarball from this official link and when you start elasticsearch now from user igwuser for which JAVA_HOME points to your lastest JDK, your Elasticsearch will also use that and you can see that in startup logs as well or in your elasticsearch process .

例如,就我而言,我的 JAVA_HOME 指向

/usr/lib/jvm/java-11-openjdk-amd64

这就是 Elastic 启动日志中打印的内容

JVM 主页 [/usr/lib/jvm/java-11-openjdk-amd64]

同样也可以使用ps aux | grep elastic在 Elastic 过程中进行验证。 ps aux | grep elastic

/usr/lib/jvm/java-11-openjdk-amd64/bin/java -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava。 awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true -XX:-OmitStackTraceInFastThrow -Dio.netty.noUnsafe=true

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM