問題一:
在安裝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...