だいこんの日々2

軸足をtwitterとfacebookに移しつつも、技術的な話はここに書いていきます。

CDH4.4 MRv1 のマニュアルインストール

日本語記事が見つからなかったので、ざっくりと書いてみる。

パッケージで入れるのが普通なんだろうけれど、root権限が使えない環境ってのもあるわけで。

 

本家のドキュメントはこちら。まぁ、これを見つけられれば簡単なんだけど。

 

1.Download

1-1.CDH4.4

まず CDH4.4 の Tarball のダウンロード。

Cloudera Downloads

現時点での最新版である hadoop-2.0.0+1475 をダウンロード。

hadoop-2.0.0-cdh4.4.0.tar.gz

 

1-2.Apache Hadoop

つぎに Apache Hadoop もダウンロードしておく。一部のshellを使うので。

(CDH3 でもいいかもしれない。)

Download a release now!

現時点での 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