现象
这个问题是很早前在生产环境上部署elk集群的时候出现的,今天记录下,集群中的节点都有部署java环境,但是在logstash这个节点缺提示找不到java环境,我是在CentOS上用rpm包进行部署的,加到了系统服务system中。
启动logstash后,报错如下图:
journalctl -ex 查看:
有一条是"could not find java; set JAVA_HOME or ensure java is in PATH",意思是缺少java环境,但是我已经配置了java环境变量。
查看java环境是存在的:
[[email protected] ~]# echo $PATH /usr/local/java/jdk1.8.0_131/bin:/usr/local/java/jdk1.8.0_131/jre/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/server/application/jdk1.8.0_144/bin:/root/bin
解决办法
去logstash的bin目录下,配置 logstash.bat 和 logstash 这两个文件中的JAVA_HOME 参数。
如下:
[[email protected] bin]$ pwd /usr/share/logstash/bin [[email protected] bin]$ grep "JAVA_HOME" logstash.bat JAVA_HOME=/usr/local/jdk1.8.0_144/ [[email protected] bin]$ grep "JAVA_HOME" logstash JAVA_HOME=/usr/local/jdk1.8.0_144/ [[email protected] bin]$
然后重启成功:
我这个版本是6.7的,Elastic官方公布的7.x版本都是默认自带java环境,所以不需要再单独安装JDK了,后续也都升级到了7.1.0的版本。
原文地址:https://www.cnblogs.com/ghl1024/p/12078391.html
时间: 2024-10-09 18:54:49