2009年6月28日日曜日

1,000台のPCでHadoopを実行(Scaling Hadoop to 1000 nodes(WinXP) at fukuoka-u)

なんとか、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クラスターとして利用する前後の準備と片付けに、それなりに時間を要するため、本日は原理的に動かせることを確認することを目標に、簡単なサンプルプログラムの実行だけに留めました。


0 件のコメント:

コメントを投稿