cagraのα版試してみたよ(ビルド編)

cagra: Reliable and Flexible Distributed Storage System
分散ストレージエンジンテクニカルデモ α版リリース

あの上野 (nyaxt) 氏と、あの古橋 (frsyuki/viver) 氏 共作の cagra*1。cagra は分散ストレージシステムで、memcached の分散版というとちょっと語弊があるけど、memcached位のお手軽さで使えるストレージ(現在はオンメモリのみ)です。ストレージという意味では、MogileFS に近いのでは?というご指摘もいただきました。現在 24 ノード (24台) 位でもちゃんと動いているようです。(もちろん、1ノードでも動くよ)

しかもデフォルトで Ruby バインドが付属です!memcached を簡易 DB 代わりみたいに Ruby から使っている僕としては、これは試すしかない!ということで、とりあえずビルドとちょっとした動作確認とかを、OSXLinux の2台でやってみました。

以下がビルドの方法です。

1. Ruby 入れておいてください

ビルドに必要だそうです。(Versionは、1.85, 1.86あたりで僕は確認してます)

2. Boost 1.34.1 のインストール

Tarballは、以下からダウンロードできます。OSX だと MacPort でもインストール出来るみたいです。*2

http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=8041&release_id=527428

2.1 configure と make
$ ./configure --prefix=/opt/local/boost_1_34_1 
$ make
$ sudo make install

とかで、/opt/local/boost_1_34_1 以下にインストールされます。boostはバージョンごとにディレクトリ分けた方が幸せになれます。(ちょっとここで嵌った。)あとは、このboostのlibを通すのを忘れずに。(Linuxだと、/etc/ld.so.confに、/opt/local/boost_1_34_1/libを追加で、ldconfig)

3. cagra のインストール

まずnyaxt氏のページをよく読んでから、ソースとって来て(がんがん更新されていっているので、氏のblogで最新版確認してください)

3.1 configure と make
$ ./configure --with-boost=/opt/local/boost_1_34_1 --prefix=/opt/local
$ make

(make installはまだないみたい Alpha2で make install 出来るようになりました。ただ、いまのところ ruby_clinet 以下はインストールされませんので注意。)

で、make したディレクトリに、cagrad が出来ます。

とりあえずこれだけです。使い方も簡単です。使い方は、 cagraのα版試してみたよ(ちょと使ってみた編) - @takuma104 log に書きました。

*1:ライセンスは、Apache V2です。cf: http://nyaxtstep.com/trac/nxfs/browser/COPYING  ちなみに、彼らはcagraをほぼ1ヶ月で動くものに作り上げたようです。驚異的スピード! cf: http://nyaxtstep.com/trac/nxfs/changeset/0

*2:Linuxは、だれか作ったrpmあるのかなあ?まあいいや。