1

我对环境不是很满意jrubyrvm所以我很难用它来运行logstash(据说这是最快的方法)。

我试过的:

  • 我安装了rvm环境(作为旁注,标准安装脚本会创建一个新.bash_profile的 .bashrc 脚本,当你在 Ubuntu 上时它会禁用标准的 .bashrc 脚本。这会让像我这样的新用户感到困惑......我想了几个小时为什么我的 ' '别名不起作用!)
  • jar xvf /logstash-1.1.4-monolithic.jar我在新目录中解压缩了logstash( )
  • 我已按照https://rvm.io/rvm/install/中的说明进行操作rvm install 1.9.2(尽管我也进行了一些尝试/错误/重做操作,所以我不记得命令的确切列表)

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

$ 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 文件正在工作,如:)

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

但是当我运行最后两行中的任何一个时都没有发生任何事情......

4

1 回答 1

1

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 代理。

于 2012-11-14T14:31:58.703 回答