Amazon EMR 클러스터가 ‘application provisioning failed’ 오류와 함께 종료되는 이유는 무엇입니까?
Amazon EMR 클러스터가 ‘application provisioning failed’ 오류와 함께 종료됩니다.
해결 방법
Amazon EMR 클러스터를 시작할 때 Amazon EMR이 지정된 소프트웨어를 설치, 구성 또는 시작할 수 없는 경우 ‘application provisioning failed’ 오류가 발생할 수 있습니다.
Amazon EMR 프로비저닝 로그 검토
Amazon EMR은 클러스터를 시작할 때 지정한 Amazon Simple Storage Service(Amazon S3) 버킷에 프로비저닝 로그를 저장합니다.
다음 단계를 완료하십시오.
- Amazon EMR 콘솔을 엽니다.
- 탐색 창에서 클러스터를 선택합니다. 그런 다음, 오류가 발생한 Amazon EMR 클러스터를 선택하여 클러스터 세부 정보를 확인합니다.
- 요약 섹션에서 오류로 인해 종료됨을 선택하고 오류 메시지에 포함된 프라이머리 노드 ID를 기록해 둡니다.
- 클러스터 로그 섹션에서 Amazon S3 위치 URL을 선택합니다.
- 다음 경로를 따라 UUID 폴더로 이동합니다.
node/example-primary-node-ID/provision-node/apps-phase/0/example-UUID/.
참고: example-primary-node-ID를 프라이머리 노드 ID로 바꾸십시오. example-UUID를 UUID로 바꾸십시오. - 결과 목록에서 puppet.log.gz를 선택하고 열기를 선택하여 새 브라우저 탭에서 프로비저닝을 확인합니다.
프로비저닝 로그의 실패 원인 파악
지원되지 않는 구성 파라미터로 인해 오류가 발생할 수 있습니다. 잘못된 호스트 이름, 잘못된 암호 또는 일반적인 운영 체제 문제로 인해 오류가 발생할 수도 있습니다. ‘error’, ‘err’ 또는 ‘fail’을 비롯한 관련 키워드의 로그를 검색하십시오.
Amazon RDS 인스턴스를 사용하여 외부 메타스토어에 연결할 때 발생하는 문제
Apache Hive, Hue 또는 Apache Oozie 등 일부 Amazon EMR 애플리케이션이 Amazon Relational Database Service(Amazon RDS)와 같은 외부 데이터베이스에 데이터를 저장하도록 구성할 수 있습니다. 외부 데이터베이스의 연결 문제가 발생하면 오류 메시지가 표시됩니다.
Hive의 오류 메시지 예시:
2022-11-26 02:59:36 +0000 /Stage[main]/Hadoop_hive::Init_metastore_schema/Exec[init hive-metastore schema]/returns (notice): org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version. 2022-11-26 02:59:36 +0000 /Stage[main]/Hadoop_hive::Init_metastore_schema/Exec[init hive-metastore schema]/returns (notice): Underlying cause: java.sql.SQLNonTransientConnectionException : Could not connect to address=(host=hostname)(port=3306)(type=master) : Socket fail to connect to host:hostname, port:3306. hostname 2022-11-26 02:59:36 +0000 /Stage[main]/Hadoop_hive::Init_metastore_schema/Exec[init hive-metastore schema]/returns (notice): SQL Error code: -1
이러한 유형의 오류를 해결하려면 다음 작업을 수행하십시오.
- Amazon RDS 인스턴스 호스트 이름, 사용자, 암호 및 데이터베이스가 올바른지 확인합니다.
- Amazon RDS 인스턴스 보안 그룹 인바운드 규칙이 Amazon EMR 프라이머리 노드 보안 그룹의 연결을 허용하는지 확인합니다.
외부 KDC에 연결할 때 발생하는 문제
Amazon EMR을 사용하면 외부 KDC를 구성하여 추가 보안 계층을 더할 수 있습니다. Active Directory 서버와 신뢰 관계를 만들 수도 있습니다. KDC에 문의하거나 도메인에 조인하려고 할 때 문제가 발생하면 오류 메시지가 표시됩니다.
Puppet의 오류 메시지 예시:
2022-11-26 03:02:01 +0000 Puppet (err): 'echo "${AD_DOMAIN_JOIN_PASSWORD}" | realm join -v -U "${AD_DOMAIN_JOIN_USER}"@"${CROSS_REALM_TRUST_REALM}" "${CROSS_REALM_TRUST_DOMAIN}"' returned 1 instead of one of [0] 2022-11-26 03:02:01 +0000 /Stage[main]/Kerberos::Ad_joiner/Exec[realm_join]/returns (err): change from 'notrun' to ['0'] failed: 'echo "${AD_DOMAIN_JOIN_PASSWORD}" | realm join -v -U "${AD_DOMAIN_JOIN_USER}"@"${CROSS_REALM_TRUST_REALM}" "${CROSS_REALM_TRUST_DOMAIN}"' returned 1 instead of one of [0]
이러한 유형의 오류를 해결하려면 다음 작업을 수행하십시오.
- Kerberos 영역의 철자가 정확한지 확인합니다.
- KDC 관리 암호를 올바르게 입력했는지 확인합니다.
- Active Directory 병합 사용자 및 암호의 철자가 정확한지 확인합니다.
- Active Directory에 병합 사용자가 포함되어 있고 사용자에게 올바른 권한이 있는지 확인합니다.
- AAmazon Elastic Compute Cloud(Amazon EC2)에서 호스팅되는 KDC 및 Active Directory의 경우, KDC 및 Active Directory 보안 그룹 인바운드 규칙이 Amazon EMR 프라이머리 노드 보안 그룹에서 연결을 허용하는지 확인합니다.
- Amazon EC2 외부에서 호스팅되는 KDC 및 Active Directory의 경우, KDC와 Active Directory가 Amazon EMR 클러스터 가상 프라이빗 클라우드(VPC) 및 서브넷에서 연결을 허용하는지 확인합니다.
YARN ResourceManager, Hadoop NameNode, or Spark History Server와 같은 서비스를 시작할 때 발생하는 문제
Amazon EMR을 사용하면 Amazon EMR 클러스터를 시작할 때 모든 애플리케이션의 사용자 지정 구성을 만들 수 있습니다. 그러나 이러한 구성은 시작 프로세스에서 서비스를 차단하는 경우가 있습니다. 문제로 인해 서비스를 시작할 수 없는 경우 오류 메시지가 표시됩니다.
Apache Spark History Server의 오류 메시지 예시:
2022-11-26 03:34:13 +0000 Puppet (err): Systemd start for spark-history-server failed!journalctl log for spark-history-server: -- Logs begin at Sat 2022-11-26 03:27:57 UTC, end at Sat 2022-11-26 03:34:13 UTC. -- Nov 26 03:34:10 ip-192-168-1-32 systemd[1]: Starting Spark history-server... Nov 26 03:34:10 ip-192-168-1-32 spark-history-server[1076]: Starting Spark history-server (spark-history-server):[OK] Nov 26 03:34:10 ip-192-168-1-32 su[1112]: (to spark) root on none Nov 26 03:34:13 ip-192-168-1-32 systemd[1]: spark-history-server.service: control process exited, code=exited status=1 Nov 26 03:34:13 ip-192-168-1-32 systemd[1]: Failed to start Spark history-server. Nov 26 03:34:13 ip-192-168-1-32 systemd[1]: Unit spark-history-server.service entered failed state. Nov 26 03:34:13 ip-192-168-1-32 systemd[1]: spark-history-server.service failed. 2022-11-26 03:34:13 +0000 /Stage[main]/Spark::History_server/Service[spark-history-server]/ensure (err): change from 'stopped' to 'running' failed: Systemd start for spark-history-server failed! journalctl log for spark-history-server:
이러한 유형의 오류를 해결하려면 다음 작업을 수행하십시오.
- 시작에 실패한 서비스를 확인합니다.
- 구성 설정에서 철자 오류를 검토합니다.
- 지정된 위치의 Amazon S3 로그를 확인하여 실패 원인을 찾습니다. 예를 들어, s3://example-log-location/example-cluster-ID/node/example-primary-node-ID/applications/example-failed-application/example-failed-service.gz입니다.
애플리케이션을 다운로드 또는 설치할 때 발생하는 문제
Amazon EMR에서 애플리케이션을 설치하거나 다운로드할 수 없는 경우 Amazon EMR 클러스터가 실패하고 프로비저닝 로그가 완료되지 않습니다. stderr.gz 로그를 검토하여 오류의 원인을 파악하십시오.
오류 메시지 예시:
stderr.gzError Summary ------------- Disk Requirements: At least 2176MB more space needed on the / filesystem. 2022-11-26 03:18:44,662 ERROR Program: Encountered a problem while provisioning java.lang.RuntimeException: Amazon-linux-extras topics enabling or yum packages installation failed.
이러한 유형의 오류를 해결하려면 Amazon EMR 클러스터를 시작할 때 루트 Amazon Elastic Block Store(Amazon EBS) 볼륨을 늘리십시오.
Amazon S3 로그를 사용할 수 없음
Amazon EMR이 애플리케이션 프로비저닝에 실패하고 Amazon S3에 생성된 로그가 없는 경우 오류 메시지가 표시됩니다. 네트워크 오류로 인해 Amazon S3 로깅이 실패했을 수 있습니다.
이러한 유형의 오류를 해결하려면 다음 작업을 수행하십시오.
- Amazon EMR을 시작할 때 로깅 옵션을 활성화했는지 확인합니다. 자세한 내용은 Amazon EMR 클러스터 로깅 및 디버깅 구성을 참조하십시오.
- 사용자 지정 AMI를 사용하는 경우 필수 Amazon EMR 네트워크 설정을 방해할 수 있는 방화벽 규칙을 확인합니다. 자세한 내용은 Amazon EMR 관리형 보안 그룹 사용을 참조하십시오.
- 사용자 지정 AMI를 사용하는 경우 오류가 발생한 프라이머리 노드를 확인합니다. Amazon EMR 콘솔을 열고 탐색 창에서 하드웨어를 선택하여 클러스터가 프라이머리 노드를 실행할 수 있는지 확인합니다.
- 사용자 지정 AMI를 사용하는 경우 모범 사례를 따라야 합니다. 자세한 내용은 Amazon EMR 클러스터 구성에 더 많은 유연성을 제공하기 위한 사용자 지정 AMI 사용을 참조하십시오.
관련 정보
- 언어
- 한국어

관련 콘텐츠
AWS 공식업데이트됨 8달 전