我下载于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
环境变量