2016-06-24 16 views
-1

Ich habe einen MapReduce-Job, den ich mit job.waitForCompletion(true) ausführen. Wenn ein oder mehrere Reducer-Tasks während der Ausführung des Jobs beendet werden oder abstürzen, wird der gesamte MapReduce-Job neu gestartet und Mapper und Reducer erneut ausgeführt (Dokumentation). Hier sind meine Fragen:Wie kann man wissen, ob ein MapReduce-Job neu gestartet wurde oder neu gestartet wurde?

1] Können wir zu Beginn des Jobs wissen, ob der Job neu gestartet wurde oder aufgrund eines Fehlers im vorherigen Lauf neu gestartet wurde? (Dies führte mich zu Q2)

2] Können Zähler helfen? Wird der Wert von Zählern übernommen, wenn einige Tasks fehlschlagen, was zum Neustart des gesamten Jobs führt?

3] Gibt es eine eingebaute Checkpointing-Methode, die von Hadoop zur Verfügung gestellt wird, die frühere Berechnungen verfolgt und dabei hilft, die gleichen Berechnungen durchzuführen, die von Mappern und Reducern durchgeführt wurden, bevor sie fehlschlagen/abstürzen?

Entschuldigung, wenn die Fragen nicht unklar formuliert sind. Danke für die Hilfe.

Antwort

2
  1. Einige Korrektur der Terminologie. Ein Job wird nicht neu gestartet, wenn eine oder mehrere seiner Aufgaben fehlschlagen. Eine Aufgabe kann neu gestartet werden. Aus einem Mapper/Reducer-Kontext können Sie https://hadoop.apache.org/docs/current/api/org/apache/hadoop/mapreduce/TaskAttemptContext.html#getTaskAttemptID() abrufen, die die Versuchsnummer als letzten Token der ID enthält.

  2. Counter-Aktualisierungen von fehlgeschlagenen Taskversuchen werden nicht in Job-Gesamtsummen aggregiert, sodass keine Angst vor einer Überzählung besteht.

  3. Im Allgemeinen nicht. Die Ausgabe der fehlgeschlagenen Aufgabe wird vom Framework gelöscht. Wenn Sie Angst haben, etwas zu verlieren, das aufgrund eines Taskausfalls teuer zu kalkulieren ist, würde ich empfehlen, Ihren Job in mehrere Map/Reduce-Phasen aufzuteilen. Sie können auch Ihren eigenen veränderbaren verteilten Cache haben, aber das wird auch nicht empfohlen.

+0

Hallo Yurgis, danke für die Klarstellung! – avp

Verwandte Themen