could not find java;set JAVA_HOME or ensure java報錯

原文鏈接:https://blog.51cto.com/liqingbiao/2413505?source=dra
問題一:
在安裝logstash時出現如下報錯:“could not find java; set JAVA_HOME or ensure java is in PATH
chmod: cannot access ‘/etc/default/logstash’: No such file or directory
warning: %post(logstash-1:6.6.0-1.noarch) scriptlet failed, exit status 1”
could not find java; set JAVA_HOME or ensure java is in PATH
chmod: cannot access ‘/etc/default/logstash’: No such file or directory
warning: %post(logstash-1:6.6.0-1.noarch) scriptlet failed, exit status 1

原以爲是jdk沒有安裝經查是正常的。但啓動logstash 的時候也是報錯的。

[root@ES3-4 opt]# java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

猜測應該是環境變量的事了。

[root@ES4-4 config]# echo $PATH
/usr/local/jdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

但是發現是有的。

查看整個系統的變量,發現沒有,應該就是這個問題了。
[root@kafka1-master preuser-0]# set |grep JAVA_HOME

解決步驟如下:
1、設置變量

[root@ES3-4 opt]# vim ~/.bash_profile 

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

PATH=$PATH:$HOME/bin
export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:/usr/local/jdk/bin
[root@ES3-4 opt]# source  ~/.bash_profile

2、查看變量值
[root@ES3-4 opt]# set |grep JAVA_HOME
JAVA_HOME=/usr/local/jdk

3、重新安裝ok了,問題解決。

[root@ES3-4 opt]# rpm -ivh logstash-6.6.0.rpm 
warning: logstash-6.6.0.rpm: Header V4 RSA/SHA512 Signature, key ID d88e42b4: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:logstash-1:6.6.0-1               ################################# [100%]
Using provided startup.options file: /etc/logstash/startup.options
Successfully created system startup script for Logstash

問題二:當設置完畢的時候還是出現如下報錯"logstash: could not find java; set JAVA_HOME or ensure java is in PATH"
這是因爲缺少個java的軟連接,做個軟連接即可解決此問題

[root@ES3-4 conf.d]# ln -s /usr/local/jdk/bin/java   /usr/bin/java

[root@ES3-4 conf.d]# systemctl restart logstash
[root@ES3-4 conf.d]# systemctl status logstash
● logstash.service - logstash
   Loaded: loaded (/etc/systemd/system/logstash.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2019-06-26 11:06:47 CST; 27s ago
 Main PID: 5543 (java)
   CGroup: /system.slice/logstash.service
           └─5543 /usr/bin/java -Xms1g -Xmx1g -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+...

Jun 26 11:06:47 ES3-4.217 systemd[1]: Started logstash.
Jun 26 11:06:47 ES3-4.217 systemd[1]: Starting logstash...
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章