我对jrubyrvm环境不太满意,因此在尝试使用logstash时遇到麻烦(据说这是最快的方法)。

我尝试过的


我安装了rvm环境(作为旁注,标准安装脚本会创建一个新的.bash_profile,当您在Ubuntu上时,它将禁用标准.bashrc脚本。这会使像我这样的新用户感到困惑...我想知道几个小时后,为什么我的“ ll”别名不起作用!)
我在新目录中解压了logstash(jar xvf /logstash-1.1.4-monolithic.jar
我已按照https://rvm.io/rvm/install/中的说明将其作为rvm install 1.9.2(尽管我也进行了一些try / error / redo操作,所以我不记得确切的命令列表了)


然后我尝试了几个命令,但是没有一个起作用:

$ ruby logstash.rb
/home/orabig/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such     file -- logstash/agent (LoadError)
    from /home/orabig/.rvm/rubies/ruby-1.9.3-p286/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from logstash.rb:1:in `<main>'


而以下行几秒钟后返回:

jruby-1.7.0 logstash.rb agent -f ../etc/inout.config -v


(inout.config文件在通过java命令行调用时有效:)

java -jar (...)/logstash-1.1.4-monolithic.jar agent -f ../etc/inout.config -v


所以现在我基本上陷入了困境,因为我尝试随机事物的次数越多,恐怕就越会搞乱我的配置...

更新:在logstash页面(https://github.com/logstash/logstash)上,它似乎正在与1.6.8 ruby​​版本一起使用(但是尚不清楚,我不确定是否会有所不同。) )
所以我也尝试了:

  $ rvm install 1.6.8
  (...)
  $ rvm use 1.6.8
  $ export JRUBY_OPTS=--1.9
  $ ruby logstash.rb agent -f ../etc/inout.config -v
  $ jruby-1.6.8 logstash.rb agent -f ../etc/inout.config -v


但是当我运行最后两行之一时什么也没发生...

最佳答案

正如rvm工具会告诉您的那样:您必须在登录shell中才能使用rvm。

因此,运行bash -login或使用rvm选择并运行您的ruby版本,如下所示:

rvm install 1.7.0 # note that 1.7.0 will also work
export JRUBY_OPTS=--1.9
rvm 1.7.0 do bundle install
rvm 1.7.0 do ruby lib/logstash/runner.rb agent -f ../etc/inout.config -v


这将告诉rvm使用jruby-1.7.0运行logstash代理。

10-07 19:32
查看更多