Amazon EMR クラスターに接続できません。
解決策
Amazon EMR セキュリティグループのルールが誤っている
この問題を解決するには、次の手順を実行します。
- 内部ユーザー、外部ユーザー、アプリケーションに関する Amazon EMR マネージドセキュリティグループのルールが正しいことを確認します。
- クラスターマネージャーがクラスターのプライマリノードと通信できるように、ポート 8443 で TCP を許可します。
- SSH を使用してクラスターに接続できるように、ポート 22 で SSH を許可します。
プライベートサブネットの Amazon EMR クラスターに設定ミスがある
この問題を解決するには、次の手順を実行します。
- サービスアクセス用のマネージドセキュリティグループを追加します。セキュリティグループのルールでは、クラスターマネージャーがクラスターノードと通信できる必要があります。
- 踏み台ホストを使用している場合は、その踏み台ホストのセキュリティグループを設定し、クライアントシステムからのインバウンドトラフィックを許可します。さらに、Amazon EMR クラスターのセキュリティグループを設定し、踏み台ホストからのインバウンドトラフィックを許可します。
注: ネットワーク構成の設定はさまざまであるため、ブラックホールのないエンドツーエンド接続を正しく設定したことを確認してください。
認証に設定ミスがある
認証設定で Amazon Elastic Compute Cloud (Amazon EC2) キーペアと Kerberos のどちらを使用しているかを確認します。次に、認証設定を正しく構成します。
クラスターノードのリソース制約
この問題を解決するには、次の手順を実行します。
プライマリノードのインスタンスコントローラーが動作していない
プライマリノードのインスタンスコントローラーが動作していることを確認します。インスタンスコントローラーは、クラスターノード上で動作し、Amazon EMR コントロールプレーンやクラスターの他の部分と通信するデーモンです。
Amazon EMR バージョン 5.30.0 以降では、次のコマンドを実行し、インスタンスコントローラーのステータスを確認します。
sudo systemctl status instance-controller
インスタンスコントローラーがアクティブでない場合は、次のコマンドを実行してインスタンスコントローラーを起動します。
sudo systemctl start instance-controller
過去の Amazon EMR バージョンのインスタンスコントローラーのステータスを確認して起動する方法については、「Amazon EMR でサービスを再開する方法を教えてください」を参照してください。