【问题标题】:Logstash -Could not find any executable java binaryLogstash - 找不到任何可执行的 java 二进制文件
【发布时间】:2015-09-27 00:40:10
【问题描述】:

我在笔记本电脑的虚拟机上安装了 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`
}

【问题讨论】:

    标签: linux elasticsearch environment-variables logstash


    【解决方案1】:

    我不得不

    export JAVACMD=`which java`

    使这项工作。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 我不明白,我也面临同样的问题。我尝试设置javacmd 并从/usr/share/logstash/bin 运行./system-install。我仍然面临 JAVA 错误。 could not find java; set JAVA_HOME or ensure java is in PATH@raghav,@Raghav Garg
      • @SPishere,你能分享你的输出which javajava -versionecho $JAVACMDecho $JAVA_HOMEecho $PATH
      • 他们都指向正确的路径,但是我能够通过在 startup.options 中添加 JAVA_HOME=path/to/jdk 来修复它。
      • @SPishere,所以现在您的 logstash 正在工作,对吧?设置后JAVA_HOME.
      猜你喜欢
      • 2011-09-11
      • 2021-07-07
      • 1970-01-01
      • 1970-01-01
      • 2021-12-14
      • 1970-01-01
      • 2013-12-02
      • 2011-11-16
      • 1970-01-01
      相关资源
      最近更新 更多