|
Installation
SSS Mapreduce Overview
ja, en ダウンロード以下のページから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のローカルレポジトリにパッケージを登録する必要があります。 この作業には以下のソフトウェアが必要です。
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 up2つの設定ファイルの作成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を実行します。 | |