なんとか、1,000台越えでのHadoopの動作、達成です。
休日、PC教室のメンテナンス時間を利用して1000台(ノード)でのHadoopの起動およびサンプルプログラムの実行に成功しました。100GBの数値データのソートを1,001台のスレーブを用いて実行したところ、4分59秒で処理を完了することができました。
↓17PC教室の1000台を超えるPCをHadoopのスレーブとして起動しました。DFSの管理画面で1,004台がLiveNodeとなっていることが確認できます。
↓次にJobTrackerの管理画面です。Node数が、ぎりぎり1,001台です。この1,001台のスレーブPCを利用して、サンプルプログラムのソートを実行してみました。
実行したプログラムは、Hadoop0.20に付属のrandomwriterとsortです。
まず、1ノードあたり100MB分のランダムデータを生成するためにrandomwriterを実行します。別途用意するコンフィグファイルで、1ノード100MBになるようにパラメータ設定をしておきます。
% bin/hadoop jar hadoop-*-examples.jar randomwriter -conf conf/randomwriter.xml rand
次に、生成したデータのソートです
% bin/hadoop jar hadoop-*-examples.jar sort rand randout
ジョブの実行結果は次の通りです。
1ノード100MBを1,001台分、合計約100GBのランダムデータのソートを、1,001台のスレーブを利用してMapReduceで処理し、4分59秒で完了しました。
↓こちらがその結果です。Mapタスクが2002本、Reduceタスクが1801本が実行されたことがわかります。
1,000台のPCを起動するとなると、Hadoopクラスターとして利用する前後の準備と片付けに、それなりに時間を要するため、本日は原理的に動かせることを確認することを目標に、簡単なサンプルプログラムの実行だけに留めました。