2017-02-07 4 views
0

Ich habe einen Spark-Job mit einigen sehr lange laufenden Aufgaben. Wenn die Aufgaben beginnen, kann ich zum Executor-Tab gehen und alle meine Executoren und ihre Aufgaben sehen. Ich kann auf den stderr Link klicken, um die Protokolle für diese Aufgaben zu sehen, die viel für die Überwachung helfen. Nach einigen Stunden funktioniert die stderr-Verbindung jedoch nicht mehr. Wenn Sie darauf klicken, erhalten Sie java.lang.Exception: Cannot find this log on the local disk.. Ich grub mich in ein bisschen und das Problem scheint zu sein, dass etwas entschieden hat, die Protokolle gzip. Das heißt, ich kann das Protokoll immer noch manuell finden, indem ich mich an den Arbeiterknoten anschließe und in das richtige Verzeichnis suche (z. B. /mnt/var/log/hadoop-yarn/containers/application_1486407288470_0005/container_1486407288470_0005_01_000002/stderr.gz). Es ist ärgerlich, dass dies passiert, da ich meinen Job von der Benutzeroberfläche aus nicht mehr überwachen kann. Außerdem sind die Dateien ziemlich klein, so dass die Komprimierung nicht hilfreich erscheint (40k unkomprimiert). Es scheint so, als ob es eine Menge Dinge geben könnte, die dazu führen könnten: Garn, ein Logroller-Cron-Job, die Log4j-Konfiguration in meiner Yarn/Spark-Distribution, AWS (da EMR Zips loggt und speichert sie auf S3), usw. Ich hoffe, dass jemand mich in die richtige Richtung weisen kann, so dass ich nicht eine Tonne Docs suchen muss.Stoppen Sie Spark-Executor-Protokolle von Gzipped

Ich verwende AWS EMR unter emr-5.3.0 ohne benutzerdefinierte Bootstrap-Schritte.

+0

Also, ist das intermittierend? –

+0

Ja. Es passiert nur bei lang laufenden Jobs und nicht immer bei allen Executoren. –

Antwort

0

hatte gerade ein ähnliches Problem. Ich habe nicht gesucht, wie gzip zu stoppen, aber Sie können auf die Protokolle mithilfe der Hadoop-Schnittstelle zugreifen.

Auf der linken Menü unter Extras> Lokale Protokolle

Dann sehen Sie das Protokoll Sie interessiert sind zu finden.

Für meinen Fall die gzip vom gui an/node/containerlogs/container_1498033803655_0037_01_000001/hadoop/stderr.gz /? start = -4096 Und mit lokalen Protokollen Menü war es in /logs/containers/application_1498033803655_0037/container_1498033803655_0037_01_000001/stderr.gz

Hoffe, es hilft