簡體   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