llenv を使って fluentd をインストールしてみた(修正と追記)
bundler を使って入れ直す
[twitter:@riywo] さんから
という指摘をもらったので、bundler を使ってインストールしてみた。
$ cd ~/llenv/apps/fluentd/ $ llenv exec gem -- install bundle $ cat > Gemfile <<EOF heredoc> source :rubygems heredoc> heredoc> gem 'fluentd' EOF $ llenv exec bundle -- install --path vendor/bundle
これで、fluentd を動かすための環境全てを ~/llenv/apps/fluentd/ 以下に閉じ込めることができた。
いちぉ、前回インストールしてしまった分は削除しておく
$ llenv exec gem -- uninstall cool.io http_parser.rb json yajl-ruby iobuffer msgpack fluentd
fluentd を実行する場合は、 bundler を使って、
$ llenv exec bundle -- exec fluentd -c fluent.conf -vv
でも良いのだけど、どうやら
$ llenv exec fluentd -- -c fluent.conf -vv
でも動くみたい。
llenv を使って fluentd をインストールしてみた
llenv とは?
perl の perlbrew とか ruby の rbenv とか node の nvm とかいった、複数バージョンの言語環境をユーザローカルでインストール・実行できるツールを、統一的に扱うことのできるツール。
一つの言語だけならそんなに問題はないのだけど、複数の言語を触っていると、あれ? この設定どうやるんだっけ? って事が多いので統一インタフェースで利用できいるのはとても便利です。
手順
説明面倒なので、やったことだけ。
llenv のインストール
$ curl -kL https://raw.github.com/riywo/App-llenv/master/llenv-install | bash
llenv 用の設定
$ cat >> ~/.zshrc <<'EOL' export LLENV_ROOT=$HOME/llenv export LLENV_OSTYPE=`$LLENV_ROOT/bin/ostype` export PATH=$LLENV_ROOT/bin:$PATH EOL $ source ~/.zshrc
ruby 1.9.3p0 を使えるようにする
$ llinstall init ruby $ llinstall install ruby 1.9.3-p0 $ llinstall exec ruby 1.9.3-p0 -- -v # 確認 ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]
ruby gems インストール用の作業ディレクトリを作って、インストール
$ llenv setup gems -l ruby -v 1.9.3-p0 $ cd ~/llenv/apps/gems/ $ wget http://production.cf.rubygems.org/rubygems/rubygems-1.8.15.tgz $ tar xvf rubygems-1.8.15.tgz $ mv rubygems-1.8.15/* ./ $ mv rubygems-1.8.15/.* ./ $ llenv exec ruby -- setup.rb $ llenv exec gem -- -v # 確認 1.8.15
fluentd のインストール
$ llenv exec gem -- install fluentd
fluentd の作業ディレクトリを作って、そこにセットアップ
$ llenv setup fluentd -l ruby -v 1.9.3-p0 $ llenv exec fluentd -- --setup . $ llenv exec fluentd -- -c fluent.conf -vv & $ echo '{"json":"message"}' | llenv exec fluent-cat -- debug.test # 確認
最後に
CentOS だと、 lsb_release がなく、llenv/bin/ostype がまともに動かなかったので、
実際には
export LLENV_OSTYPE=CentOS-5.7-x86_64
としてます。
CentOS でも動くようにパッチを送ったので、取り込まれると嬉しいなぁ。
https://github.com/do-aki/App-llenv/commit/1f3d6ff266079aa1169f95caafc3b4947bf286d2
素敵なツールを開発してくださった [twitter:@riywo] さんに感謝!
参考
- ハッカソンに行って来てllenvをリニューアルしました
- http://blog.riywo.com/2012/01/08/200329
- riywo/App-llenv - GitHub
- https://github.com/riywo/App-llenv
- Fluentd’s documentation
- http://fluentd.org/doc/
- Fluentd meetup in Japan on Zusaar
- http://www.zusaar.com/event/193104