すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:Knox

最終更新日:Apr 23, 2025

このトピックでは、E-MapReduce(EMR)コンソールで Knox ユーザーアカウントを構成して、インターネット経由で Hadoop 分散ファイルシステム(HDFS)、YARN、Spark、Ganglia などの特定のサービスの Web UI にアクセスする方法について説明します。

前提条件

Knox サービスを含む EMR クラスタが作成されていること。詳細については、「クラスタを作成する」をご参照ください。

説明

クラスタに Knox サービスが含まれていない場合は、Knox を追加できます。詳細については、「サービスを追加する」をご参照ください。

準備

セキュリティグループルールの追加

  1. オンプレミスマシンのパブリック IP アドレスを取得します。

    セキュリティ上の理由から、セキュリティグループルールを構成する際は、現在のパブリック IP アドレスからのアクセスのみを許可することをお勧めします。現在のパブリック IP アドレスを取得するには、http://myip.ipip.net/ にアクセスしてください。

  2. セキュリティグループルールを追加します。

    この例では、ポート 8443 が有効になっています。

    1. 目的のクラスタの [基本情報] タブに移動します。[セキュリティ] セクションで、[クラスタセキュリティグループ] の右側のリンクをクリックします。

    2. 表示されるページの [セキュリティグループ] [詳細] タブで、[受信] サブタブの [ルールの追加] をクリックします。

    3. [承認オブジェクト] パラメーターを前の手順で取得したパブリック IP アドレスに設定し、[ポート範囲] パラメーターを [8443/8443] に設定します。

    4. [アクション] 列の [保存] をクリックします。

重要
  • 外部ユーザーからの攻撃を防ぐため、[承認オブジェクト][0.0.0.0/0] に設定することはできません。

  • クラスタの作成時に [パブリック IP アドレスの割り当て] スイッチをオンにしなかった場合、パブリック IP アドレスは使用できません。この場合、ECS コンソールでクラスタのマスターノードにパブリック IP アドレスを追加できます。

Knox ユーザーアカウントの構成

Knox にアクセスする際は、ユーザー名とパスワードを入力する必要があります。認証は、Lightweight Directory Access Protocol(LDAP)に基づいています。クラスタ内の Apache Directory Server の LDAP サービスを使用できます。

  • 方法 1(推奨)

    [EMR On ECS] ページで、目的のクラスタの名前をクリックします。表示されるページで、[ユーザー] タブをクリックします。タブで、[ユーザーの追加] をクリックして Knox ユーザーアカウントを追加します。詳細については、「ユーザーアカウントの管理」をご参照ください。

  • 方法 2

    1. SSH モードで目的のクラスタにログオンします。詳細については、「クラスタへのログオン」をご参照ください。

    2. Tom などのユーザー名を準備します。

      次のコマンドを実行して、users.ldif ファイルを開きます。

      su knox
      vim /opt/apps/KNOX/knox-current/templates/users.ldif

      ファイル内で、emr-guestEMR GUESTTom に置き換え、userPassword パラメーターをユーザー名のパスワードに設定します。

    3. 次のコマンドを実行して、ユーザーデータを LDAP にインポートします。

      cd /opt/apps/KNOX/knox-current/templates
      sh ldap-sample-users.sh

サービスの Web UI へのアクセス

詳細については、「EMR コンソールでオープンソースコンポーネントの Web UI にアクセスする」をご参照ください。

FAQ

  • Q: Knox が異常停止し、Knox の起動時に Failed to start gateway: org.apache.hadoop.gateway.services.ServiceLifecycleException: Gateway SSL Certificate is Expired というエラーが報告された場合はどうすればよいですか?ERROR

  • A: 次の手順を実行して、問題を解決できます。

    1. SSH モードでクラスタにログオンします。詳細については、「クラスタへのログオン」をご参照ください。

    2. 次のコマンドを実行して、期限切れの SSL 証明書の名前を変更します。

      sudo mv /opt/apps/KNOX/knox-current/data/security/keystores/gateway.jks /opt/apps/KNOX/knox-current/data/security/keystores/bak_gateway.jks
      説明

      期限切れの SSL 証明書を別のディレクトリに移動することもできます。

    3. Knox を起動します。

      1. クラスタの [サービス] タブに移動します。[サービス] タブで、Knox を見つけ、ポインターを more アイコンの上に移動し、[開始] を選択します。

      2. 表示されるダイアログボックスで、[実行理由] パラメーターを構成し、[OK] をクリックします。

      3. [確認] メッセージで、[OK] をクリックします。