Amazon EMR の Spark ジョブにおけるステージ障害の問題を解決するには、どうすれば良いですか。

最終更新日: 2022 年 1 月 31 日

Amazon EMR の Apache Spark アプリケーションにおけるステージ障害の問題を解決したいと考えています。

簡単な説明

Spark では、ステージ障害は、Spark タスクの処理に問題がある場合に発生します。この障害は、ハードウェアの問題、Spark の設定ミス、またはコードの問題が原因で発生する可能性があります。ステージ障害が起こると、Spark ドライバーログは次のような例外を報告します。

org.apache.spark.SparkException: Job aborted due to stage failure: Task XXX in stage YYY failed 4 times, most recent failure: Lost task XXX in stage YYY (TID ZZZ, ip-xxx-xx-x-xxx.compute.internal, executor NNN): ExecutorLostFailure (executor NNN exited caused by one of the running tasks) Reason: ...

解決方法

理由コードの検索

--deploy-mode client で送信された Spark ジョブの場合、理由コードは端末に表示される例外の中にあります。

--deploy-mode cluster で送信された Spark ジョブの場合、マスターノードで次のコマンドを実行して、YARN アプリケーションログでステージ障害を確認します。application_id を Spark アプリケーションの ID に置き換えます (例: application_1572839353552_0008)。

yarn logs -applicationId application_id | grep  "Job aborted due to stage failure" -A 10

この情報は、アプリケーションマスターコンテナの YARN ResourceManager から取得することもできます。

根本原因の解決


この記事はお役に立ちましたか。


請求に関するサポートまたは技術サポートが必要ですか?