Thriftとは多言語に対応したRPC(Remote Procedure Call)フレームワークです。
- ''Thrift'' ブログ内関連記事
- ''Cassandra'' ブログ内関連記事
分散KVS(Key-Value Store)の一つである Cassandra では Thrift クライアントが利用可能です。
構築
今回はMacbookにインストールしました。
Thriftはboostが必須です。MacPortsでインストールしてしまいます。
- Boostのインストール
$ sudo port install boost
- 環境変数の設定
export PATH=/opt/local/bin:/opt/local/sbin/:$PATH export MANPATH=/opt/local/man:$MANPATH export LIBRARY_PATH=/opt/local/lib:$LIBRARY_PATH export LD_LIBRARY_PATH=/opt/local/lib:$LD_LIBRARY_PATH export C_INCLUDE_PATH=/opt/local/include:$C_INCLUDE_PATH export CPLUS_INCLUDE_PATH=/opt/local/include:$CPLUS_INCLUDE_PATH export DYLD_FALLBACK_LIBRARY_PATH=/opt/local/lib export BOOST_ROOT=/opt/local/include/boost:$BOOST_ROOT
- Thriftのインストール
$ wget -O thrift.tgz "http://gitweb.thrift-rpc.org/?p=thrift.git;a=snapshot;h=HEAD;sf=tgz" $ tar -xzf thrift.tgz $ cd thrift $ ./bootstrap.sh $ ./configure $ make $ sudo make install
以下のようなエラーが出る場合、./configure: line 21183: syntax error near unexpected token `MONO,' ./configure: line 21183: ` PKG_CHECK_MODULES(MONO, mono >= 1.2.6, have_mono=yes, have_mono=no)'
pkg.m4 をコピーしてから再度 ./configure します。$ cp /opt/local/share/aclocal/pkg.m4 ./aclocal $ ./bootstrap.sh .... 略
- 各言語のクライアントライブラリのインストール
$ cd lib/perl $ perl Makefile.PL $ sudo make install $ cd ../rb $ sudo ruby setup.rb $ cd ../py $ sudo python setup.py install