お手軽に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