|
DataServer
SSS Mapreduce DataServer
en , ja 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
| |