前回はHadoopを1台のマシンにインストールし、簡単なサンプルプログラムを実行しました。また、HDFSやMapReduceについても解説しました。今回は複数のマシンへのインストールを行います。その後、大規模なデータを実際に処理し、その性能を測ってみたいと思います。
1.前回のおさらい
前回はHadoopを1台のマシンにインストールし、簡単なサンプルプログラムを実行しました。また、HDFSやMapReduceについても解説しました。今回は複数のPCへのインストールを行います。その後、大規模なデータを実際に処理し、その性能を測ってみたいと思います。
2.用意した環境
今回は、東京大学 理学部 情報科学科で学生用に解放されているクラスタを使用しました。このクラスタは24台のノード(c0-0 ~ c0-23)で構成されており、1GbpsのEthernetで相互に接続されています。また、すべてのノードの/homeディレクトリはNFSで共有されています。計算ノードのスペックは次のとおりです。
| 項目 | 内容 |
| CPU | AMD Opteron Processor 252、 2.6GHz、 DualCore |
| NIC | Broadcom NetXtreme BCM5704 Gigabit Ethernet |
| HDD | SATA Disk |
| OS | RedHat EL、 Linux 2.6.9-67.0.15.ELsmp |
今回は、上記の環境を利用した場合の手順を解説しますが、同じ要領で2台からセットアップできます。
3.Hadoopのサーバ構成
Hadoopは「JobTracker」「TaskTracker」「NameNode」「DataNode」という4つのサーバから構成されます。 JobTrackerとTaskTrackerはMapReduce処理、NameNodeとDataNodeは分散ファイルシステム機能を担当しています。
また、Hadoopを動かすクラスタでは1台が「masterノード」、その他のノードが「slaveノード」となります。 masterノードではJobTrackerとNameNode、slaveノードではTaskTrackerとDataNodeが起動されます (図1)。

「Job」はMapReduceプログラムの実行単位です。Jobは複数の「Task」に分割されます。Taskには「MapTask」と「ReduceTask」の2種類が有ります。MapReduceプログラムを開始すると、まずクライアントはJobTrackerにJobを「Submit」します。JobTrackerはSubmitされたJobをTaskに分割し、TaskTrackerに分配します。TaskTrackerは分配された Taskを処理します。
また、NameNodeはファイルの権限等のメタデータを管理するサーバです。DataNodeは実際にデータを保持する役割を持っています(前回記事参照)。
以上を踏まえた上で、実際にインストールしてみましょう。
- 修正履歴
-
- 2009/07/28 20:56 図1の誤りを修正
この記事は参考になりましたか?
- Google基盤ソフトウェアのオープンソースクローンを使ってみる連載記事一覧
-
- blogeyeの実装に学ぶ、Amazon EC2/S3でのHadoop活用術
- 複数マシンへHadoopをインストールする
- Hadoopのインストールとサンプルプログラムの実行
- この記事の著者
-
太田 一樹(オオタ カズキ)
東京大学情報理工学系研究科コンピューター科学専攻石川研究室M1。並列プログラミングや、大規模システムソフトウェアに興味があります。 Webページ ブログ Twitter今までに投稿した記事 Hadoop、hBaseで構築する大規模分散データ処理システム Hadoopのインストールとサンプルプログラムの実行 複数マシンへHadoopをインストールする blogeyeの実装に学ぶ、Amazon EC2/S3でのHadoop活用術 (by 大倉さん)
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
