Amazon EMR에서 Spark 작업의 단계 실패 문제를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 1월 8일

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에서도 이 정보를 얻을 수 있습니다.

근본 원인 해결

예외를 찾은 후 다음 문서 중 하나를 사용하여 근본 원인을 해결합니다.


이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?