Hadoop-2.6.4をスタンドアローンモードで動作させてみる

かなり久しぶりの投稿です。いい加減2系を利用しようと重い腰を上げ少しずつ検証中。とりあえずメモ程度に記録します。(といってもほぼ昔の1系の記事からのパクリです。)

対象バージョンはhadoop-2.6.4 JavaはJDK1.8を利用。JAVA_HOMEは/usr/local/java8とします。

その他各種パラメータは以下の通り。

ユーザホーム /home/hadoop/local
インストール ${HOME}/local
hadoop.tmp.dir ${HOME}/local/opt/hadoop2
HADOOP_PID_DIR ${HOME}/local/var/run/hadoop2

Hadoopのインストール


cd $HOME/local
tar -zxvf hadoop-2.6.4.tar.gz
ln -s hadoop-2.6.4/ hadoop2

その後各種ディレクトリの作成。


cd $HOME/local
mkdir -p opt/hadoop2
mkdir -p var/run/hadoop2

スタンドアロンモードの時にpidファイル格納用のディレクトリは不要かも?

下記ディレクトリに移動して設定ファイルの修正を行います。


cd $HOME/local/hadoop2/etc/hadoop

core-site.xml

<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/local/opt/hadoop2</value>
        <description>A base for other temporary directories.</description>
    </property>
</configuration>

mapred-site.xml
mapred-site.xml.tmeplateをmapred-site.xmlという名前でコピーもしくはリネームして下記を追加。

<configuration>
    <property>
        <name>mapred.job.tracker</name>
        <value>local</value>
    </property>
</configuration>

hadoop-env.sh


export JAVA_HOME=/usr/local/java8
export HADOOP_PID_DIR=/home/hadoop/local/var/run/hadoop2

動作確認


cd /home/hadoop/local/opt/hadoop2
mkdir -p input/grep_example
cd ${HOME}/loca/hadoop2
cp ./etc/hadoop/*.xml $HOME/local/opt/hadoop2/input/grep_example/
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.4.jar grep \
/home/hadoop/local/opt/hadoop2/input/grep_example \
/home/hadoop/local/opt/hadoop2/output/grep_example 'dfs[a-z.]+'
cat /home/hadoop/local/opt/hadoop2/output/grep_example/*

正常終了すると最後のcatコマンドでgrep処理の結果が出力される。