CDH4.4 MRv1 のマニュアルインストール
日本語記事が見つからなかったので、ざっくりと書いてみる。
パッケージで入れるのが普通なんだろうけれど、root権限が使えない環境ってのもあるわけで。
本家のドキュメントはこちら。まぁ、これを見つけられれば簡単なんだけど。
1.Download
1-1.CDH4.4
まず CDH4.4 の Tarball のダウンロード。
現時点での最新版である hadoop-2.0.0+1475 をダウンロード。
hadoop-2.0.0-cdh4.4.0.tar.gz
1-2.Apache Hadoop
つぎに Apache Hadoop もダウンロードしておく。一部のshellを使うので。
(CDH3 でもいいかもしれない。)
現時点での stable である Release 1.2.1 をダウンロード。
hadoop-1.2.1-bin.tar.gz
2.Extract
アーカイブを展開する。
今回は /usr/local にインストールすることにする。
$ cd /usr/local
$ tar zxvf hadoop-2.0.0-cdh4.4.0.tar.gz
$ tar zxvf hadoop-1.2.1-bin.tar.gz
主要なディレクトリ構成はこんな感じ。
/usr/local/hadoop-2.0.0-cdh4.4.0
|--bin
|--bin-mapreduce1
|--cloudera
|--etc
| |--hadoop
| |--hadoop-mapreduce1
| |--hadoop-mapreduce1-pseudo
| +--hadoop-mapreduce1-secure
|--examples
|--examples-mapreduce1
|--include
|--lib
|--libexec
|--sbin
|--share
| |--doc
| +--hadoop
| |--common
| |--hdfs
| |--httpfs
| |--mapreduce1
| |--mapreduce2
| |--tools
| +--yarn
+--src
/usr/local/hadoop-1.2.1
|--bin
|--c++
|--conf
|--contrib
|--ivy
|--lib
|--libexec
|--sbin
|--share
|--src
+--webapps
3.symlink
MRv1 用にシンボリックリンクを張る。
$ ln -s /usr/local/hadoop-2.0.0-cdh4.4.0/bin-mapreduce1 /usr/local/hadoop-2.0.0-cdh4.4.0/share/hadoop/mapreduce1/bin
$ ln -s /usr/local/hadoop-2.0.0-cdh4.4.0/etc/hadoop-mapreduce1 /usr/local/hadoop-2.0.0-cdh4.4.0/share/hadoop/mapreduce1/conf
4.copy
シェルスクリプトをコピー。
ここでやっと Apache Hadoop をダウンロードした意味が分かりましたね。
なぜ同梱されていないのだろうか?
$ cp /usr/local/hadoop-1.2.1/bin/start-dfs.sh /usr/local/hadoop-2.0.0-cdh4.4.0/bin-mapreduce1
$ cp /usr/local/hadoop-1.2.1/bin/stop-dfs.sh /usr/local/hadoop-2.0.0-cdh4.4.0/bin-mapreduce1
5.environment variables
hadoop-config.sh の最初の方に環境変数の設定を追加しておく。
$ vi /usr/local/hadoop-2.0.0-cdh4.4.0/bin-mapreduce1/hadoop-config.sh
export HADOOP_HOME=/usr/local/hadoop-2.0.0-cdh4.4.0/share/hadoop/mapreduce1
export HADOOP_CONF_DIR=$HADOOP_HOME/conf
export JAVA_HOME=/usr/lib/j2sdk1.6-sun
6.conf
設定ファイルを修正する。これでほぼ完了。
解説しているサイトがいろんなところにあるので、そちらを見てください。
$ cd /usr/local/hadoop-2.0.0-cdh4.4.0/etc/hadoop-mapreduce1
$ vi hadoop-env.sh
$ vi hdfs-site.xml
$ vi mapred-site.xml
$ vi core-site.xml
$ vi masters
$ vi slaves
分散環境で実行する場合は、その設定も各サーバで行ってね。
7.start & stop
start
$ /usr/local/hadoop-2.0.0-cdh4.4.0/share/hadoop/mapreduce1/bin/start-dfs.sh
$ /usr/local/hadoop-2.0.0-cdh4.4.0/share/hadoop/mapreduce1/bin/start-mapred.sh
stop
$ /usr/local/hadoop-2.0.0-cdh4.4.0/share/hadoop/mapreduce1/bin/stop-mapred.sh
$ /usr/local/hadoop-2.0.0-cdh4.4.0/share/hadoop/mapreduce1/bin/stop-dfs.sh