각 Apache Spark 또는 YARN 애플리케이션이 완료되었는데도 Amazon EMR 단계는 여전히 RUNNING 상태입니다.
해결 방법
이 문제를 해결하려면 다음 방법 중 하나를 사용하십시오.
YARN 애플리케이션의 상태를 확인한 후 단계 종료
다음 단계를 완료하십시오.
-
단계 로그 stderr 파일에서 YARN applicationId를 확인합니다.
-
SSH를 사용하여 프라이머리 노드에 연결합니다.
-
다음 YARN 명령을 사용하여 YARN 애플리케이션의 상태를 찾습니다. 다음 예제 명령에서 application_id를 애플리케이션 ID로 바꾸십시오. 애플리케이션 ID의 예는 application_1234567891011_001입니다.
yarn application -status application_id
-또는-
다음 YARN 명령을 사용하여 모든 애플리케이션을 나열하십시오.
yarn application -list -appStates ALL
-
위 명령의 출력에서 애플리케이션 상태를 확인합니다.
이전 명령의 출력에 FFINISHED, FAILED 또는 KILLED 상태가 있으면 YARN 애플리케이션이 완료됩니다.
애플리케이션 상태가 NEW, NEW_SAVING, SUBMITTED, ACCEPTED 또는 RUNNING인 경우 YARN 애플리케이션은 계속 실행 중입니다. 애플리케이션이 완료될 때까지 기다리거나 애플리케이션을 종료하여 단계를 취소하십시오.
다음은 성공적으로 완료된 애플리케이션의 출력 예입니다.
Progress : 100%
State : FINISHED
Final-State : SUCCEEDED
-
다음 명령을 실행하여 애플리케이션을 종료합니다. application_id를 애플리케이션 ID로 바꾸십시오. 애플리케이션 ID의 예는 application_1234567891011_001입니다.
yarn application -kill application_id
-
애플리케이션을 종료한 후 Amazon EMR 단계의 상태를 다시 확인합니다.
AWS Command Line Interface(AWS CLI)를 사용하여 Amazon EMR 단계를 수동으로 취소
참고: AWS Command Line Interface(AWS CLI) 명령 실행 시 오류가 발생하는 경우, AWS CLI 오류 문제 해결을 참고하세요. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인합니다.
다음 단계를 완료하십시오.
-
describe-step 명령을 사용하여 해당 단계의 상태를 확인합니다. 다음 명령에서 cluster-id와 step-id를 사용 사례에 맞는 올바른 값으로 바꾸십시오.
aws emr describe-step --cluster-id j-xxxxxxxxxxxxx --step-ids s-xxxxxxxx
-
cancel-steps 명령을 사용하여 단계를 취소합니다. 다음 명령에서 cluster-id와 step-id를 사용 사례에 맞는 올바른 값으로 바꾸십시오.
aws emr cancel-steps --cluster-id j-xxxxxxxxxxxxx \
--step-ids s-3M8DXXXXXXXXX \
--step-cancellation-option SEND_INTERRUPT
자세한 내용은 Amazon EMR 클러스터에 작업을 제출할 때 단계 취소를 참조하십시오.