Job-Tracker

Definition - Was bedeutet JobTracker?

JobTracker ist ein Daemon, der auf der MapReduce-Engine von Apache Hadoop ausgeführt wird. JobTracker ist ein wesentlicher Dienst, der alle MapReduce-Aufgaben an die verschiedenen Knoten im Cluster verteilt, idealerweise an die Knoten, die bereits die Daten enthalten oder sich zumindest im selben Rack befinden wie die Knoten, die die Daten enthalten.

Technische.me erklärt JobTracker

JobTracker ist der Dienst in Hadoop, der für die Annahme von Kundenanfragen verantwortlich ist. Sie werden TaskTrackern auf DataNodes zugewiesen, auf denen die erforderlichen Daten lokal vorhanden sind. Ist dies nicht möglich, versucht JobTracker, die Aufgaben TaskTrackern innerhalb desselben Racks zuzuweisen, in dem die Daten lokal vorhanden sind. Wenn dies aus irgendeinem Grund ebenfalls fehlschlägt, weist JobTracker die Aufgabe einem TaskTracker zu, in dem eine Replik der Daten vorhanden ist. In Hadoop werden Datenblöcke über DataNodes hinweg repliziert, um Redundanz sicherzustellen. Wenn also ein Knoten im Cluster ausfällt, schlägt auch der Job nicht fehl.

JobTracker-Prozess:

  1. Jobanfragen von Client-Anwendungen werden vom JobTracker empfangen.
  2. JobTracker konsultiert den NameNode, um den Speicherort der erforderlichen Daten zu ermitteln.
  3. JobTracker sucht TaskTracker-Knoten, die die Daten enthalten oder sich zumindest in der Nähe der Daten befinden.
  4. Der Job wird an den ausgewählten TaskTracker übergeben.
  5. Der TaskTracker führt seine Aufgaben aus, während er von JobTracker genau überwacht wird. Wenn der Job fehlschlägt, sendet JobTracker den Job einfach erneut an einen anderen TaskTracker. JobTracker selbst ist jedoch ein einzelner Fehlerpunkt. Wenn dies fehlschlägt, fällt das gesamte System aus.
  6. JobTracker aktualisiert seinen Status, wenn der Job abgeschlossen ist.
  7. Der Client-Anforderer kann jetzt Informationen von JobTracker abrufen.