Logstash 找不到 JRuby

Logstash 找不到 JRuby

我下载于https://www.elastic.co/downloads/logstash。并在 CentOS 7.0 中测试它。JRE 的版本是1.8.0_101。当我运行./bin/logstash agent -f config/log4j_to_es.conf它时,它打印:

Unable to find JRuby.
If you are a user, this is a bug.
If you are a developer, please run 'rake bootstrap'. Running 'rake' requires the 'ruby' program be available.

我下载了该TAR.GZ软件包。但我不知道该如何修复它。

答案1

我发现与此错误有关的一些非常有趣的事情,我们看到以下错误:无法找到 JRuby。

简而言之,我发现 TAR.GZ 文件未完全解压。

我有一个 .tar.gz 文件,并使用 tar -xzf 命令将其内容提取到文件系统目录中。缺少的是以下目录:logstash-5.5.2/vendor/jruby

然后我发现我的服务器的文件系统空间不足,因此只进行了部分 TAR.GZ 提取。当我清理文件系统并解压 logstash 存档时,一切正常!快乐的日子!

答案2

在 tarball 格式的安装中,jruby 存在于vendor文件夹下。确保它存在。您正在运行的 logstash 命令基本上是一个 shell 脚本,它获取一个 lib 文件bin/logstash.lib.sh

另外,尝试在调试模式下运行:

export DEBUG=1
./bin/logstash --help

可能的罪魁祸首是:

  • 您已经设置了JAVA_HOME,这意味着您正在使用OS java。
  • 你不小心设置了USE_RUBY环境变量

相关内容