Hadoopの実行環境は複数のスレーブサーバで構成されます。ジョブのエラー等でタスクのログを確認する際、タスクのログがETERNUSなどの共有ディレクトリに出力するよう構成されている場合は問題ありませんが、スレーブサーバのローカルディスクに保存するよう設定されている場合は、まずエラーの発生したタスクが、どのスレーブサーバで実行されたのかを特定する必要があります。
ジョブを複数のタスクに分割し、スレーブサーバに割り当てるのは、JobTrackerの役割です。JobTrackerのログにはタスクがどのスレーブサーバに割り当てられたのか記録されています。出力先は、Hadoopの設定ファイルの一つである「/etc/hadoop/hadoop-env.sh」に定義されています。
マスタサーバのタスクログを確認します。
$ more /var/log/hadoop/mapred/hadoop-mapred-jobtracker-hadoop1.log
(ログ抜粋)
INFO org.apache.hadoop.mapred.JobTracker: Adding task (MAP) 'attempt_201403281518_0347_m_000001_0' to tip task_201403281518_0347_m_000001, for tracker 'tracker_hadoop2:localhost.localdomain/127.0.0.1:57728' INFO org.apache.hadoop.mapred.JobTracker: Adding task (MAP) 'attempt_201403281518_0347_m_000002_0' to tip task_201403281518_0347_m_000002, for tracker 'tracker_hadoop2:localhost.localdomain/127.0.0.1:57728' INFO org.apache.hadoop.mapred.JobTracker: Adding task (REDUCE) 'attempt_201403281518_0347_r_000000_0' to tip task_201403281518_0347_r_000000, for tracker 'tracker_hadoop2:localhost.localdomain/127.0.0.1:57728'
Mapタスクの0番、1番とReduceタスクの0番はHadoop2に割り当てられたことがわかるため、Hadoop2のタスクのログを確認します。