MapReduceフレームワークでは、利用者が要求する作業の単位を「Hadoopジョブ」と呼びます。Hadoopジョブは以下の3つの要素で構成されます。
入力データ
MapReduceアプリケーション
設定情報
このHadoopジョブを並列に分散処理できる単位に分割したものを「タスク」と呼びます。タスクにはMapタスクとReduceタスクがあります。
MapReduceフレームワークには以下の3つの機能があり、これらが連携してHadoopジョブを実行します。
JobClient
JobClientは利用者からのHadoopジョブの要求を受け付け、JobTrackerに送信します。
JobTracker
JobClientから送信されたHadoopジョブのリクエストを、分散処理に最適なタスクに分割して、各TaskTrackerに割当てます。
TaskTracker
JobTrackerから割り当てられたMapタスクとReduceタスクを実行する機能です。各タスクを子プロセス上で実行します。
図1.2 MapReduceフレームワークの機能の役割
