Logstash - 找不到任何可执行的Java二进制文件

时间:2015-07-08 21:16:27

标签: linux elasticsearch environment-variables logstash

我在笔记本电脑的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`
}

2 个答案:

答案 0 :(得分:19)

我不得不

  

导出JAVACMD =`哪个java`

使这项工作。

答案 1 :(得分:1)

我知道,这是一个老线程,但我也遇到了同样的问题并且做了一件非常愚蠢的事情。

我在$JAVA_HOME更新了我的/etc/environment var,但没有重新加载该文件,因为它没有生效,并且运行source /etc/environment解决了我的问题。