logstash 找不到 java 环境

Posted HaydenGuo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了logstash 找不到 java 环境相关的知识,希望对你有一定的参考价值。

现象

这个问题是很早前在生产环境上部署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环境是存在的:

技术图片
[root@logstash ~]# 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 参数。

如下:

[root@web bin]$ pwd
/usr/share/logstash/bin
[root@web bin]$ grep "JAVA_HOME" logstash.bat
JAVA_HOME=/usr/local/jdk1.8.0_144/
[root@web bin]$ grep "JAVA_HOME" logstash
JAVA_HOME=/usr/local/jdk1.8.0_144/
[root@web bin]$ 

然后重启成功:

技术图片

我这个版本是6.7的,Elastic官方公布的7.x版本都是默认自带java环境,所以不需要再单独安装JDK了,后续也都升级到了7.1.0的版本。

以上是关于logstash 找不到 java 环境的主要内容,如果未能解决你的问题,请参考以下文章

Kotlin:找不到符号类片段或其他 android 类

学习 PyQt5。在我的代码片段中找不到错误 [关闭]

错误: 找不到或无法加载主类 ;D:Toolselasticsearch-6.2.4logstash-6.2.1logstash-corelibjarsanimal-sniffer-an

创建片段而不从 java 代码实例化它

Kotlin 在片段中找不到按钮 ID,为啥?

调用 onCreateView() 之前出现“找不到片段 id 的视图”错误