

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# EMR 클러스터를 프로비저닝하지 못함
<a name="emr-ranger-troubleshooting-cluster-failed"></a>

Amazon EMR 클러스터 시작에 실패하는 몇 가지 이유가 있습니다. 다음은 문제를 진단할 수 있는 몇 가지 방법입니다.

**EMR 프로비저닝 로그 확인**

Amazon EMR은 Puppet을 사용하여 클러스터에 애플리케이션을 설치하고 구성합니다. 로그를 보면 클러스터의 프로비저닝 단계에서 오류 발생 여부에 관한 세부 정보를 확인할 수 있습니다. 로그가 S3로 푸시되도록 구성된 경우 클러스터 또는 S3에서 로그에 액세스할 수 있습니다.

로그는 `s3://<LOG LOCATION>/<CLUSTER ID>/node/<EC2 INSTANCE ID>/provision-node/apps-phase/0/{UUID}/puppet.log.gz.` 및 디스크의 `/var/log/provision-node/apps-phase/0/{UUID}/puppet.log`에 저장됩니다.

**일반 오류 메시지**


| 오류 메시지 | 원인 | 
| --- | --- | 
| Puppet (err): Systemd start for emr-record-server failed\! journalctl log for emr-record-server: | EMR Record Server를 시작하지 못했습니다. 아래 EMR Record Server 로그를 참조하세요. | 
| Puppet (err): Systemd start for emr-record-server failed\! journalctl log for emrsecretagent: | EMR Secret Agent를 시작하지 못했습니다. 아래에서 Secret Agent 로그를 확인합니다. | 
| /Stage[main]/Ranger\_plugins::Ranger\_hive\_plugin/Ranger\_plugins::Prepare\_two\_way\_tls[configure 2-way TLS in Hive plugin]/Exec[create keystore and truststore for Ranger Hive plugin]/returns (notice): 140408606197664:error:0906D06C:PEM routines:PEM\_read\_bio:no start line:pem\_lib.c:707:Expecting: ANY PRIVATE KEY | Apache Ranger 플러그인 인증서용 Secret Manager의 프라이빗 TLS 인증서가 올바른 형식이 아니거나 프라이빗 인증서가 아닙니다. 인증서 형식은 [Amazon EMR과의 Apache Ranger 통합을 위한 TLS 인증서](emr-ranger-admin-tls.md) 섹션을 참조하세요. | 
| /Stage[main]/Ranger\_plugins::Ranger\_s3\_plugin/Ranger\_plugins::Prepare\_two\_way\_tls[configure 2-way TLS in Ranger s3 plugin]/Exec[create keystore and truststore for Ranger amazon-emr-s3 plugin]/returns (notice): An error occurred (AccessDeniedException) when calling the GetSecretValue operation: User: arn:aws:sts::XXXXXXXXXXX:assumed-role/EMR\_EC2\_DefaultRole/i-XXXXXXXXXXXX is not authorized to perform: secretsmanager:GetSecretValue on resource: arn:aws:secretsmanager:us-east-1:XXXXXXXXXX:secret:AdminServer-XXXXX | EC2 인스턴스 프로파일 역할에는 Secrets Agent에서 TLS 인증서를 검색할 수 있는 올바른 권한이 없습니다. | 

**SecretAgent 로그 확인**

Secret Agent 로그는 EMR 노드의 `/emr/secretagent/log/` 또는 S3의 `s3://<LOG LOCATION>/<CLUSTER ID>/node/<EC2 INSTANCE ID>/daemons/secretagent/` 디렉터리에 있습니다.

**일반 오류 메시지**


| 오류 메시지 | 원인 | 
| --- | --- | 
| Exception in thread "main" com.amazonaws.services.securitytoken.model.AWSSecurityTokenServiceException: User: arn:aws:sts::XXXXXXXXXXXX:assumed-role/EMR\_EC2\_DefaultRole/i-XXXXXXXXXXXXXXX is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::XXXXXXXXXXXX:role/\*RangerPluginDataAccessRole\* (Service: AWSSecurityTokenService; Status Code: 403; Error Code: AccessDenied; Request ID: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX; Proxy: null) | 위의 예외는 EMR EC2 인스턴스 프로파일 역할에 **RangerPluginDataAccessRole** 역할을 수임할 권한이 없음을 의미합니다. [Apache Ranger와의 네이티브 통합을 위한 IAM 역할](emr-ranger-iam.md)을(를) 참조하세요. | 
| ERROR qtp54617902-149: Web App Exception Occurred<br />javax.ws.rs.NotAllowedException: HTTP 405 Method Not Allowed | 이 오류는 무시할 수 있습니다. | 

**Record Server 로그 확인(SparkSQL용)**

EMR Record Server 로그는 EMR 노드의 /var/log/emr-record-server/에 있거나 S3의 s3://<LOG LOCATION>/<CLUSTER ID>/node/<EC2 INSTANCE ID>/daemons/emr-record-server/ 디렉터리에 있습니다.

**일반 오류 메시지**


| 오류 메시지 | 원인 | 
| --- | --- | 
| InstanceMetadataServiceResourceFetcher:105 - [] Fail to retrieve token com.amazonaws.SdkClientException: Failed to connect to service endpoint  | EMR SecretAgent가 나타나지 않았거나 문제가 발생했습니다. SecretAgent 로그에서 오류가 있는지 확인하고 puppet 스크립트를 검사하여 프로비저닝 오류가 있는지 확인합니다. | 