

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# EMR クラスターのプロビジョニングが失敗した
<a name="emr-ranger-troubleshooting-cluster-failed"></a>

Amazon EMR クラスターの開始に失敗する理由はいくつかあります。問題を診断するいくつかの方法があります。

**EMR プロビジョニングログを確認する**

Amazon EMR は、Puppet を使用してクラスターにアプリケーションをインストールおよび設定します。ログを見ると、クラスターのプロビジョニングフェーズ中にエラーが発生したかどうかについての詳細が示されます。クラスターまたは S3 (ログが S3 にプッシュされるように設定されている場合) でログにアクセスできます。

ログは、ディスク上の `/var/log/provision-node/apps-phase/0/{UUID}/puppet.log` および `s3://<LOG LOCATION>/<CLUSTER ID>/node/<EC2 INSTANCE ID>/provision-node/apps-phase/0/{UUID}/puppet.log.gz.` に保存されます。

**一般的なエラーメッセージ**


| エラーメッセージ | 原因 | 
| --- | --- | 
| Puppet (err): Systemd start for emr-record-server failed\! journalctl log for emr-record-server: | EMR レコードサーバーの開始に失敗しました。下記の「EMR レコードサーバーログ」を参照してください。 | 
| Puppet (err): Systemd start for emr-record-server failed\! journalctl log for emrsecretagent: | EMR シークレットエージェントの開始に失敗しました。下記の「SecretAgent ログの確認」を参照してください。 | 
| /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 プラグイン証明書のシークレットマネージャーのプライベート TLS 証明書が正しい形式でないか、プライベート証明書ではありません。証明書の形式について、「[Apache Ranger と Amazon EMR の統合のための 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 インスタンスプロファイルロールに、シークレットエージェントから TLS 証明書を取得するための適切なアクセス許可がありません。 | 

**SecretAgent ログの確認**

シークレットエージェントのログは、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 | これらのエラーは無視して問題ありません。 | 

**レコードサーバーログの確認 (SparkSQL の場合)**

EMR レコードサーバーログは、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 スクリプトで、プロビジョニングエラーがないか確認してください。 | 