[英]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.