お手軽にHadoop on EC2 を試す(ときにはまるコト)

EC2 Command-Line Tools はインストール済み、Hadoop 0.17.x であること前提。


AmazonEC2 - Hadoop Wiki にしたがって
クラスタの起動 〜 マスタへのログインを行い

% bin/hadoop-ec2 launch-cluster test-cluster 2
% bin/hadoop-ec2 login test-cluster

ログイン先で以下のコマンドを叩いてみても

# cd /usr/local/hadoop-*
# bin/hadoop jar hadoop-*-examples.jar pi 10 10000000

エラーが発生して動かすことができない。
これは、起動用のスクリプトではHDFS やJobTracker に必要な
ポートの解放を行っていないことが原因である。


EC2 Command-Line Tools に戻って以下のコマンドを叩き数分待つ。

% ec2-authorize test-cluster-master -p 50001
% ec2-authorize test-cluster-master -p 50002
% ec2-authorize test-cluster -p 50010

あらためて、マスタから以下のコマンド。

# cd /usr/local/hadoop-*
# bin/hadoop jar hadoop-*-examples.jar pi 10 10000000

これで無事にサンプルプログラムを起動できたはずである。
なお、デフォルトで使われるAMI 内の hadoop-site.xml
サンプル実行以外は使わないほうが吉。


終了するときはEC2 Command-Line Tools から

% bin/hadoop-ec2 terminate-cluster test-cluster


ポート設定などもすべて破棄したい場合は

% bin/destroy-hadoop-cluster test-cluster