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
Installation  
SSS Mapreduce Overview
ja, en
Updated Feb 25, 2013

ダウンロード

以下のページからSSS Mapreduceのパッケージをダンロードしてください。

以下のURLからTokyo CabinetとTokyo Tyrantのパッケージをダウンロードしてください。

インストール

ソースファイルの展開

ダウンロードしたファイルのあるディレクトリに移動して、以下のコマンドでパッケージを展開してください。 (sss-CCYYMMDD.tgzはSSS Mapreduceのパッケージ名です。)

$ tar xfvz sss-CCYYMMDD.tgz
$ tar xfvz tokyocabinet-1.4.47.tar.gz
$ tar xfvz tokyotyrant-1.1.41.tar.gz
$ tar xfvz jtokyotyrant-0.1.1.tar.gz

上記のコマンドは"sss-CCYYMMDD"、"tokyocabinet-1.4.47"、"tokyotyrant-1.1.41"、"jtokyotyrant-0.1.1"という名前のディレクトリを作成し、ソースファイルを展開します。

Note: パッケージの展開にはGNU tarを利用してください。

パッチの適用とconfigure、makeの実行

Tokyo Cabinetのソースファイルを展開したディレクトリに移動し、Tokyo Cabinetをビルドしてください。 ビルドの際にはTokyo CabinetへSSS Mapreduceに付属するパッチを適用してください。

$ cd tokyocabinet-1.4.47
$ cat ../sss-CCYYMMDD/patches/tokyocabinet* | patch -p1
$ ./configure && make && sudo make install

Tokyo Tyrantのソースファイルを展開したディレクトリに移動し、Tokyo Tyrantをビルドしてください。 ビルドの際にはTokyo TyrantへSSS Mapreduceに付属するパッチを適用してください。

$ cd ../tokyotyrant-1.1.41
$ cat ../sss-CCYYMMDD/patches/tokyotyrant* | patch -p1
$ ./configure && make && sudo make install

jtokyotyrantのディレクトリに移動して、jtokyotyrantをビルドしてください。

$ cd ../jtokyotyrant-0.1.1
$ make

環境変数CLASSPATHにjtokyotyrant.jarを、環境変数LD_LIBRARY_PATHにlibjtokyotyrant.soを加えてください。

shの場合の例:

$ export CLASSPATH=/DirPath/jtokyotyrant-0.1.1/jtokyotyrant.jar
$ export LD_LIBRARY_PATH=/DirPath/jtokyotyrant-0.1.1

cshの場合の例:

% setenv CLASSPATH /DirPath/jtokyotyrant-0.1.1/jtokyotyrant.jar
% setenv LD_LIBRARY_PATH /DirPath/jtokyotyrant-0.1.1

Note: パッチのライセンスはLGPLv2です。詳しくはsss-CCYYMMDD/patches/COPYINGを参照してください。

Apache Antの実行

警告:

もしmsgpack-java 0.6.8がすでにリリースされているのであれば、'ant'が自動的にダウンロードするため、この警告を読む必要はありません。

SSS Mapreduceはmsgpack-java 0.6.7以前のものでは正常に動作しません。 しかし、msgpack-java 0.6.8はまだリリースされていません(2013年2月現在)。
そのため、msgpack-javaの最新のソースコードを以下のGITレポジトリから取得し、maven2のローカルレポジトリにパッケージを登録する必要があります。
この作業には以下のソフトウェアが必要です。
  • git
  • maven2
msgpack-javaのソースコードを取得し、パッケージを登録するコマンドは以下の通りです。
$ git clone https://github.com/msgpack/msgpack-java.git
$ cd msgpack-java
$ mvn install

SSS Mapreduceのソースファイルを展開したディレクトリに移動し、antを実行します。

$ cd ../sss-CCYYMMDD
$ ant

Note: SSS Mapreduceのbuild.xmlはivy(http://ant.apache.org/ivy/)を利用します。 利用しているマシンがプロキシサーバーの中にある場合には、環境変数ANT_OPTSを適切に設定してください。

shの場合の例:

$ export ANT_OPTS="-Dhttp.proxyHost=YourProxyServer \
  -Dhttp.proxyPort=YourProxyPortNumber"

cshの場合の例:

% setenv ANT_OPTS "-Dhttp.proxyHost=YourProxyServer \
  -Dhttp.proxyPort=YourProxyPortNumber"

Setting up

2つの設定ファイルの作成

SSS Mapreduceのソースファイルを展開したディレクトリ以下のconfディレクトリに移動し、 "peers"という名前で利用するマシンのホスト名を記述したファイルを作成してください。 その後、genconfスクリプトを実行し、4つの質問に回答してください。

$ cd /DirPath/sss-CCYYMMDD/conf
$ cat > peers
node1.example.org
node2.example.org
^D
$ ./genconf
step1. select a file which contains your cluster node list:
> peers
step2. enter a filename which will be written as output:
> cluster.conf
step3. select which protocol you use:
> aist sss
step4. number of storage engine per node:
> 1

genconfを使わずに手動で設定ファイルを作成することもできます。 その場合には、cluster.conf.16nodeを参考に"cluster.conf"という名称のファイルを作成してください。

環境変数の設定

環境変数MAPREDUCE_HOMEにSSS Mapreduceのソースファイルを展開したディレクトリを設定してください。

shの場合の例:

$ export MAPREDUCE_HOME=/DirPath/sss-CCYYMMDD

cshの場合の例:

% setenv MAPREDUCE_HOME /DirPath/sss-CCYYMMDD

ディレクトリの作成

db、log、pidsディレクトリをリモートマシンの$MAPREDUCE_HOME以下に作成します。

$ ssh node1.example.org mkdir $MAPREDUCE_HOME/{logs,db,pids}
$ ssh node2.example.org mkdir $MAPREDUCE_HOME/{logs,db,pids}

サーバの起動と停止

TokyoTyrantとSSSserverの起動

TokyoTyrantとSSSserverを起動するには、bin/clusterctl.sh startを実行してください。

$ bin/clusterctl.sh start

TokyoTyrantとSSSserverの停止

TokyoTyrantとSSSserverを停止するには、bin/clusterctl.sh stopを実行してください。

$ bin/clusterctl.sh stop

Note: SSS Mapreduceのサーバーの起動/停止にはsshコマンドが実行できることが必要です。 さらにSSS Mapreduceのサーバーの起動/停止をユーザの入力なし実行するには、パスワードなどのユーザの入力なしにsshコマンドが実行できる必要があります。 そのような目的には"ssh-agent"と"ssh-add"が利用できます。

Tokyo TyrantとSSSserverはログファイルを$MAPREDUCE_HOME/logsディレクトリ以下に作成します。

テスト(オプション)

テストを実行することができます。(短時間で実行が完了します)

$ ant wordcount

このコマンドはアプリケーションWordCountを実行します。

Powered by Google Project Hosting