EMR ノートブックをクラスターに接続できないのはなぜですか?

所要時間2分
0

Amazon EMR ノートブックを EMR クラスターに接続できません。

簡単な説明

EMR ノートブックを EMR クラスターに接続すると、次のようなエラーが発生する場合があります。

  • クラスター J-XXXXXXXXXXX にアタッチできません。理由: ワークスペース (ノートブック) をアタッチできませんでした。内部エラーです。
  • ノートブックは、選択した Availability Zone ではサポートされていません。別の Availability Zone のクラスターを使用してみてください。
  • ワークスペース (ノートブック) をアタッチできませんでした。設定が無効です。
  • ワークスペース (ノートブック) が停止しています。クラスター J-XXXXXXXXXX には JupyterEnterpriseGateway アプリケーションがインストールされていません。別のクラスターで再試行してください。
  • ワークスペースエラー: EMR ノートブックを実行中のクラスターにアタッチできません。カーネルの起動中にエラーが発生しました。HTTP 403: Forbidden (ワークスペースがクラスターにアタッチされていません。続行するには、「OK」をクリックしてください)

解決方法

アタッチされているクラスターに互換性があり、すべてのクラスタ要件を満たしていることを確認する

EMR ノートブックのクラスター要件は次のとおりです。

1.    Amazon EMR リリースバージョン 5.18.0 以降を使用して作成されたクラスターのみがサポートされます。

2.    AMD EPYC プロセッサを搭載した Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを使用して作成されたクラスターはサポートされていません。たとえば、m5a.* と r5a.* インスタンスタイプはサポートされていません。

3.    EMR ノートブックは、VisibleToAllUsers 変数を true に設定して作成されたクラスターでのみ機能します。VisibleToAllUsers は、デフォルトで true に設定されています。

4.    クラスターは EC2 Amazon Virtual Private Cloud (Amazon VPC) 内で起動する必要があります。パブリックとプライベートサブネットがサポートされています。

5.    EMR ノートブックは現在 Apache Spark クラスターのみをサポートしています。

6.    EMR リリースバージョン 5.32.0 以降、または 6.2.0 以降の場合、クラスターで Jupyter Enterprise Gateway アプリケーションを実行している必要があります。

7.    Kerberos 認証を使用するクラスターはサポートされていません。

8.    AWS Lake Formation と統合されたクラスターは、Notebook-scoped Libraries のインストールのみをサポートします。クラスターへのカーネルとライブラリのインストールはサポートされていません。

9.    複数のプライマリノードを持つクラスターはサポートされていません。

10.    AWS Graviton2 をベースとした Amazon EC2 インスタンスを使用するクラスターはサポートされていません。

詳細については、「クラスター要件」を参照してください。

エラー: クラスター J-XXXXXXXXXXX にアタッチできません。理由: ワークスペース (ノートブック) をアタッチできませんでした。内部エラー

この問題は、Apache Livy 偽装がオンになっている EMR クラスター上で発生します。これは、livy.impersonation.enabled 変数が true に設定されていることを意味します。Amazon EMR 6.4.0 では、Livy 偽装はデフォルトで true に設定されています。Livy ユーザー偽装がオフになっている EMR ノートブック機能でも、デフォルトで HttpFS はオフになっています。つまり、EMR ノートブックは Livy 偽装が有効になっているクラスターに接続できません。詳細については、「Amazon EMR リリース 6.4.0 について」を参照してください。

この問題を回避するには、次の操作を行います。

EMR 6.4.0 より古いバージョンでも新しいバージョンでも、hadoop-httpfs サービスが動作しているものであれば利用可能です。

  • または -

次の手順を実行して、クラスター上の hadoop-httpfs サービスを再起動します。

1.    SSH を使用して EMR プライマリノードに接続します

2.    次のコマンドを実行して hadoop-httpfs サービスを開始します。

sudo systemctl start hadoop-httpfs

または、EMR ステップを使用して hadoop-httpfs サービスを開始することもできます。

==========
JAR location: command-runner.jar
Main class: None
Arguments: bash -c "sudo systemctl start hadoop-httpfs"
Action on failure: Continue
==========

次のコマンドを実行して HttpFS のステータスを確認してください。

$ sudo systemctl status hadoop-httpfs
  hadoop-httpfs.service - Hadoop httpfs
   Loaded: loaded (/etc/systemd/system/hadoop-httpfs.service; disabled; vendor preset: disabled)
   Active: active (running)...

3.    EMR クラスターを再度アタッチします。

エラー: ワークスペースエラー

EMR クラスターを EMR ノートブックに接続しようとしたときに発生する一般的なワークスペースエラーは次のとおりです。

  • EMR ノートブックを実行中のクラスターにアタッチできません。
  • カーネルの起動中にエラーが発生しました。
  • HTTP 403: Forbidden (ワークスペースがクラスターにアタッチされていません。続行するには「OK」を選択してください。)

これらのエラーは、AWS ルートアカウントに EMR ノートブックを EMR クラスターにアタッチする権限がないために発生します。ルートユーザーは、カーネルを起動する権限のないユーザーと見なされます。KERNEL_USERNAME の値が unauthorized_users リストに表示されている場合、接続リクエストは失敗します。詳細については、「セキュリティ機能」を参照してください。

ワークスペースエラーを回避するには、AWS Identity and Access Management (AWS IAM) ユーザーを作成し、クラスターをノートブックにアタッチします。より詳しくは、「AWS アカウントでの IAM ユーザーの作成」を参照してください。


AWS公式
AWS公式更新しました 1年前