最新のSparkアプリケーション障害の根本原因を実稼働環境で突き止めようとしています。 Sparkアプリケーションが実行されているときに、NodeManagerのyarn.nodemanager.log-dirプロパティをチェックして、Sparkエグゼキュータのコンテナログを取得できます。Sparkアプリケーションがクラッシュした後、Spark ExecutorログをYarnに保持する方法
容器は両方実行スパークアプリケーションのログを有する
ここでは、コンテナログの図である。 drwx - X --- 3糸の糸51 7月19日9時04 application_1467068598418_0209 drwx - X --- 5糸糸141 Jul 19 09:04 application_1467068598418_0210
しかし、アプリケーションが終了すると、両方のアプリケーションログが自動的に削除されます。私は糸のすべてのログ保持設定などを非常に大きな数に設定しました。しかし、これらのログは、Sparkアプリケーションがクラッシュするとすぐに削除されます。
質問:何らかの理由でSparkアプリケーションがクラッシュした場合、デバッグのために、これらのSparkアプリケーションログをYarnに保持するにはどうすればよいですか。
本当にありがとうございました。私はすでにログ集約を有効にしています。私はCloudera 5.5を使用していますが、HDFSにはhadoop/yarnフォルダはありません。 SparkエグゼキュータのログをHDFSに保存するには、どのようにして糸ログを有効にできますか? – Alchemist
"spark.eventLog.enabled"、 "true"、 "spark.eventLog.dir"、 "hdfs:/// user/spark/applicationHistory"これら2つのプロパティを設定することにより、Spark History Serverのエグゼキュータログを見ることができます。 – morfious902002
はい、ありがとうございます。 – Alchemist