我在笔记本电脑的VM上安装了ELK .Elasticsearch已启动并正在运行。
./bin/logstash -f logstash-filter.conf gives me the below error
Could not find any executable java binary. Please install java in your PATH or set JAVA_HOME.
我尝试设置JAVA_HOME
和$ PATH
,问题仍然存在。我错过了什么吗?
which java
/usr/bin/java
java -version
java version "1.7.0_79"
OpenJDK Runtime Environment (IcedTea 2.5.5) (7u79-2.5.5-0ubuntu0.14.04.2)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)
echo $JAVA_HOME
/usr/local/java/jdk1.8.0_45
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/divija/bin:/usr/local/java/jdk1.8.0_45/bin
logstash-filter.conf
input { stdin { } }
filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
}
date {
match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
}
}
output {
elasticsearch { host => localhost
index=>"myindex"
}
stdout { codec => rubydebug }`enter code here`
}
答案 0 :(得分:19)
我不得不
导出JAVACMD =`哪个java`
使这项工作。
答案 1 :(得分:1)
我知道,这是一个老线程,但我也遇到了同样的问题并且做了一件非常愚蠢的事情。
我在$JAVA_HOME
更新了我的/etc/environment
var,但没有重新加载该文件,因为它没有生效,并且运行source /etc/environment
解决了我的问题。