2012-11-13 50 views
1

我对jrubyrvm环境并不是很满意,所以我在尝试运行logstash时遇到了问题(据说这是最快的方法)。如何使用JRuby从爆炸jar中运行logstash

我tryed什么:

  • 我安装rvm environement(作为一个侧面说明,标准的安装脚本创建一个新的.bash_profile,当你在Ubuntu其禁用标准的.bashrc脚本,这可以迷惑新用户喜欢我......我在想了好几个小时,为什么我的“LL”的别名将无法正常工作!)
  • 我在新目录中的未压缩logstash(jar xvf /logstash-1.1.4-monolithic.jar
  • 我遵循的说明https://rvm.io/rvm/install/ as rvm install 1.9.2(尽管我也是m ADE一些尝试/错误/恢复操作,所以我不记得命令的确切上市)

然后我试了几个命令,但他们没有工作:

$ 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 

(当使用Java命令行中:)

援引作为inout.config文件工作

所以我现在基本上卡住了,因为更多的我会尽量随意的事情,我怕弄乱我的配置更...

更新:在logstash页面(HTTPS: //github.com/logstash/logstash),它看起来像它的工作与1.6.8版本的红宝石(但目前还不清楚,我不知道这有什么差别......) 所以我也试过:

$ 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 

但是当我运行任的最后两行没有任何反应......

+1

得到与logstash帮助的最佳途径是使用邮件列表或IRC频道,因为这是在活跃的社区和专家用户所在的位置。 –

回答

1

由于rvm工具会让你知道:你必须在登录shell中才能使用rvm。

所以,无论是运行bash -login或使用RVM来选择和运行红宝石版本如以下完成:

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剂。

+0

嘿,最后一行是我正在寻找的。我工作完美!谢谢... –