My favorites | Sign in
Project Home Downloads Wiki Issues Source
READ-ONLY: This project has been archived. For more information see this post.
Search
for
DataServer  
SSS Mapreduce DataServer
en , ja
Updated Feb 27, 2013

DataServerの利用

SSS MapreduceではストレージサーバーとしてTokyoTyrantします。 しかし、Tokyo Tyrantの通信レイヤは必ずしもSSS Mapreduceで多用するバルク処理に最適化されているわけではありません。 そのため、独自の通信プロトコルを利用するストレージサーバー「DataServer」を提供しています。

必要要件

プラットフォーム

以下の環境で動作確認を行いました。

- CentOS release 5.5 x86_64 - Ubuntu 12.10 x86_64

ビルドツール

コンパイルにはC++11対応のコンパイラが必要です。 gcc 4.7.0, 4.7.2で動作確認を行いました。

ビルドツールとしてはGNU Makefile及びCMakeを利用しています。 それぞれ以下のバージョンで動作確認を行いました。

- GNU Makefile
- 3.8.1
- CMake
- 2.8.8 - 2.8.9

ライブラリ

以下のライブラリに依存しています。

- Boost 1.49以降 - POCO
- 1.3.6p1-4、及び1.4.3p1で動作確認を行いました。
- TokyoCabinet
- 1.4.47にSSS付属のパッチを当てたものが必要です。

利用方法

make でビルドできるようになっています。

$ make

ライブラリの位置などのマシン固有の設定はenv.mkに記述します。

また、ビルドオプションをRelease版とDebug版の2パターンから選択可能です。 env.mkに以下の記述を行います。

CMAKE_BUILD_TYPE=Release # Release版
CMAKE_BUILD_TYPE=Debug   # Debug版

何も記述しない場合にはDebug版を利用する設定になっています。

起動停止にはdataserver.shもしくはdataserver_local.shを利用します。 これらのコマンドは環境変数MAPREDUCE_HOMEが適切に設定されていることを期待しています。 また、dataserverのトップディレクトリがDATASERVER_HOMEに設定されていることを期待します。

dataserver.shは${MAPREDUCE_HOME}/conf/peersを見て、リモートにDataServerを起動します。 dataserver_local.shはローカルホストでデータサーバを起動します。

リモートでの起動:

$ export DATASERVER_HOME=$PWD
$ ./dataserver.sh start

ローカルでの起動:

$ export DATASERVER_HOME=$PWD
$ ./dataserver_local.sh start

ポート番号はデフォルトでは21201を利用します。 データベースファイルは${MAPREDUCE_DATA}/db以下に作成します。

サーバを停止するにはスクリプトにstopを渡します。

リモートでの停止:

$ ./dataserver.sh stop

ローカルでの停止:

$ ./dataserver_local.sh stop

SSS Mapreduceの設定

conf/mapreduce.server.propertiesに以下の内容を設定して起動します。

mapreduce.server.io.stream.protocol = true

また、SSS Mapreduceをcluster.shで起動する場合にはsssserverを引数に渡して、ワーカーサーバーのみを起動するようにします。cluster.shはデフォルトではワーカーサーバーとTokyoTyrantの起動を行います。

$ ${MAPREDUCE_DATA}/bin/cluster.sh start sssserver
Powered by Google Project Hosting