Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

複数マシンへHadoopをインストールする

Google基盤ソフトウェアのオープンソースクローンを使ってみる 3

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2008/06/27 14:00

前回は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)。

図1.サーバー構成
図1.サーバー構成

 「Job」はMapReduceプログラムの実行単位です。Jobは複数の「Task」に分割されます。Taskには「MapTask」と「ReduceTask」の2種類が有ります。MapReduceプログラムを開始すると、まずクライアントはJobTrackerにJobを「Submit」します。JobTrackerはSubmitされたJobをTaskに分割し、TaskTrackerに分配します。TaskTrackerは分配された Taskを処理します。

 また、NameNodeはファイルの権限等のメタデータを管理するサーバです。DataNodeは実際にデータを保持する役割を持っています(前回記事参照)。

 以上を踏まえた上で、実際にインストールしてみましょう。


  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

修正履歴

  • 2009/07/28 20:56 図1の誤りを修正

著者プロフィール

  • 太田 一樹(オオタ カズキ)

    東京大学情報理工学系研究科コンピューター科学専攻石川研究室M1。並列プログラミングや、大規模システムソフトウェアに興味があります。 Webページ ブログ Twitter 今までに投稿した記事 Hadoop、hBaseで構築する大規模分散データ...

バックナンバー

連載:Google基盤ソフトウェアのオープンソースクローンを使ってみる
All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5