Ich versuche, die Ursache für einen Fehler in der letzten Spark-Anwendung in der Produktion zu finden. Wenn die Spark-Anwendung ausgeführt wird, kann ich die known.nodemanager.log-dir-Eigenschaft von NodeManager überprüfen, um die Spark-Executor-Containerprotokolle abzurufen.Wie Spark-Executor-Protokolle in Garn gespeichert werden, nachdem die Spark-Anwendung abgestürzt ist
Der Behälter hat Protokolle sowohl für die Lauffunken Anwendungen
Hier ist die Ansicht des Behälters logs: drwx - x --- 3 Garn-Garn 51 19 Jul 9.04 application_1467068598418_0209 drwx - x --- 5 Garngarn 141 Jul 19 09:04 application_1467068598418_0210
Aber wenn die Anwendung beendet wird, werden beide Anwendungsprotokolle automatisch gelöscht. Ich habe alle Log-Aufbewahrungseinstellungen usw. in Garn auf eine sehr große Anzahl gesetzt. Diese Protokolle werden jedoch gelöscht, sobald die Spark-Anwendungen abgestürzt sind.
Frage: Wie können wir diese Spark-Anwendungsprotokolle in Yarn zum Debuggen beibehalten, wenn die Spark-Anwendung aus irgendeinem Grund abgestürzt ist.
für Ihre Antwort so vielen Dank. Ich habe bereits Log-Aggregation aktiviert, um wahr zu sein. Und ich benutze Cloudera 5.5, ich habe keinen Hadoop/Garn Ordner in HDFS. Wie kann ich die Yarn-Protokollierung aktivieren, um Spark-Executor-Protokolle in HDFS zu speichern? – Alchemist
"spark.eventLog.enabled", "true" und "spark.eventLog.dir", "hdfs: /// user/spark/applicationHistory" Durch das Setzen dieser beiden Eigenschaften können wir die Executor-Protokolle in Spark History Server sehen . – morfious902002
Ja, das funktioniert sehr gut. – Alchemist