Streaming-Cluster-Fehler - Amazon EMR

Streaming-Cluster-Fehler

Sie können in der Regel die Ursache für einen Streaming-Fehler in einer syslog-Datei finden. Erstellen Sie einen Link dahin im Abschnitt Steps (Schritte).

Die folgenden Fehler treten häufig bei Streaming-Clustern auf.

Werden Daten an den Mapper im falschen Format gesendet?

Suchen Sie in der syslog-Datei nach einer Fehlermeldung über einen fehlgeschlagenen Aufgabenversuch in den Protokolldateien der Aufgabenversuche, um dies zu überprüfen. Weitere Informationen finden Sie unter Anzeige von -Protokolldateien.

Gibt es eine Zeitüberschreitung bei der Skriptausführung?

Die standardmäßige Zeitbeschränkung für ein Mapper- oder Reducer-Skript beträgt 600 Sekunden. Wenn Ihr Skript mehr Zeit benötigt, schlägt der Aufgabenversuch fehl. Suchen Sie in der syslog-Datei nach einem fehlgeschlagenen Aufgabenversuch in den Protokolldateien der Aufgabenversuche, um dies zu überprüfen. Weitere Informationen finden Sie unter Anzeige von -Protokolldateien.

Sie können die Zeitbeschränkung ändern, indem Sie einen neuen Wert für die Konfigurationseinstellung mapred.task.timeout festlegen. Diese Einstellung gibt die Anzahl von Millisekunden an, nach der Amazon EMR eine Aufgabe beendet, die keine Eingabe gelesen, Ausgabe geschrieben oder ihre Status-Zeichenfolge nicht aktualisiert hat. Sie können diesen Wert aktualisieren, indem Sie ein zusätzliches Streaming-Argument -jobconf mapred.task.timeout=800000 übergeben.

Werden ungültige Streaming-Argumente übergeben?

Hadoop-Streaming unterstützt nur die folgenden Argumente. Wenn Sie andere als die unten aufgeführten Argumente übergeben, schlägt der Cluster fehl.

-blockAutoGenerateCacheFiles -cacheArchive -cacheFile -cmdenv -combiner -debug -input -inputformat -inputreader -jobconf -mapper -numReduceTasks -output -outputformat -partitioner -reducer -verbose

Darüber hinaus erkennt Hadoop-Streaming nur in Java-Syntax übergebene Argumente, also mit einem vorangestellten einzelnen Bindestrich. Wenn Argumente mit vorangestelltem doppelten Bindestrich übergeben werden, schlägt der Cluster fehl.

Wurde Ihr Skript mit einem Fehler beendet?

Wenn Ihr Mapper- oder Reducer-Skript mit einem Fehler beendet wird, können Sie den Fehler in der stderr-Datei des fehlgeschlagenen Aufgabenversuchs in den Protokolldateien der Aufgabenversuche ermitteln. Weitere Informationen finden Sie unter Anzeige von -Protokolldateien.