Wie funktioniert MapReduce wiederherstellen von Fehlern wenn ein Fehler passiert in einem Zwischenstadium

Spark, ich weiß, dass die Fehler wieder zu tun recomputation der RDDs, es sei denn, ein RDD ist zwischengespeichert. In diesem Fall wird die Berechnung gestartet werden kann, die zwischengespeichert RDD.

Meine Frage ist, wie Fehler wiederhergestellt MapReduce-frameworks (wie Apache Hadoop). Lassen Sie uns sagen, ein Fehler ist aufgetreten in der shuffle-phase (Nach der Karte und vor dem reduzieren ist), wie wäre es wiederhergestellt werden. Würde die Karte Schritt wieder durchgeführt werden. Gibt es eine Bühne, die in MapReduce, wo die Ausgabe gespeichert ist, in das HDFS, so dass die Berechnung kann starten, nur von dort? Und was ist eine Map nach Map-reduce. Ist die Ausgabe von reduce gespeichert in HDFS?

  • Natürlich nicht. Ich spreche über die MapReduce-framework. Ich wollte nur sagen, dass ich weiß, wie das funktioniert in Apache Spark, aber neugierig, wie die Wiederherstellung geschieht in MapReduce-frameworks wie Apache Hadoop.
InformationsquelleAutor pythonic | 2016-10-23



One Reply
  1. 6

    Was Sie sich beziehen, klassifiziert als Versagen der task könnte entweder ein map task oder reducer task

    Im Falle eines besonderen task Fehler, Hadoop initiiert ein weiteres computational Ressource, um durchzuführen, ist fehlgeschlagen Karte oder reduzieren die Aufgaben.

    Wann kommt es zum Ausfall von shuffle and sort Prozess, es ist im Grunde ein Ausfall, insbesondere in den Knoten, wo reducer task ist gescheitert, und es würde ausgeführt werden, um wieder in eine andere Ressource (btw, reducer phase beginnen Sie mit dem mischen und Sortieren Prozess).

    Wäre es natürlich nicht verteilen Sie die Aufgaben unendlich, wenn Sie zu halten, zu scheitern. Es gibt zwei Eigenschaften unter bestimmen kann, wie viele Störungen oder versuche eine Aufgabe könnte akzeptabel sein.

    mapred.map.max.attempts für Map-Aufgaben und eine Eigenschaft mapred.reduce.max.attempts für reduce-Aufgaben.

    Standardmäßig, wenn jede Aufgabe scheitert vier mal (oder was auch immer konfigurieren Sie in diesen Eigenschaften), die ganze Aufgabe gilt als gescheitert. – Hadoop-Definitive Guide

    Kurz shuffle and sort Teil reducer, es würde nur zu initiieren versuchen, erneut reducer Aufgabe. Anzeigen von Aufgaben würde nicht erneut ausgeführt werden, wie Sie sind, als abgeschlossen angesehen.

    Ist es, auf jeder Bühne MapReduce, wo die Ausgabe gespeichert ist, in das HDFS, so dass die Berechnung kann starten, nur von dort?

    Nur die Letzte Ausgabe gespeichert werden in HDFS. Karte die Ausgänge sind klassifiziert als zwischen-und würde nicht gespeichert werden, in HDFS als HDFS würde replizieren die Daten gespeichert und im Grunde, warum würden Sie wollen, HDFS verwalten von Zwischendaten, die keine Verwendung nach dem Abschluss der Arbeit. Es wäre der zusätzliche Aufwand der Reinigung als auch. Daher werden Karten ausgegeben werden, werden nicht gespeichert in HDFS.

    Und was ist eine Map nach Map-reduce. Ist die Ausgabe von reduce gespeichert in HDFS?

    Die Ausgabe von reducer wäre gespeichert in HDFS. Für die Karte, ich hoffe, die obige Beschreibung würde ausreichen.

    • Das war sehr nützlich. Also, im Fall, die Daten von der Karte verloren geht, und einen Druckminderer Aufgabe abhängig, dass die Daten auch nicht, was würde passieren? Ich denke, das recomputation neu zu starten wäre von der Karte. Richtig?
    • ‚Reducer Aufgabe“ hat drei Phasen. Shuffle, Sortieren und Reduzieren. Während der Shuffle kann beginnen, sobald einige Karten fertig sind, im Gegensatz zu, Sortieren und Reduzieren, würde nur starten, wenn alle Karten fertig sind. Sie können unter diesem link sowie weitere info – stackoverflow.com/a/11673808/3838328

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.