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

2분 분량
0

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 공식
AWS 공식업데이트됨 2년 전