E-MapReduce では『Apache Knox』がサポートされています。 Knox でサポートされているイメージを選択してクラスターを作成する場合は、パブリックネットワークから Web UI にアクセスして、YARN、HDFS、および SparkHistory のようなサービスを使用します。
準備
本ページでは E-MapReduce クラスターでの Knox の使い方の概要を説明します。
- パブリック IP アドレスを使用した Knox のアクセスの有効化
- E-MapReduce の Knox のサービスポートは 8443 です。 クラスターの詳細で、クラスターが配置されている ECS セキュリティグループを見つけます。
- ECS コンソールで対応するセキュリティグループを変更し、インターネットインバウンド にルールを追加してポート 8443 を有効にします。
重要- セキュリティのために、認証オブジェクトは限られた IP アドレス範囲でなければなりません。 0.0.0.0/0 は禁止されています。
- セキュリティグループのポート 8443 が有効になったら、セキュリティグループ内のすべてのノード (非 E-MapReduce ECS ノードを含む) でパブリックネットワークへの入り口でポート 8443 を有効にします。
- Knox ユーザーの設定
Knox にアクセスするには、認証のためユーザー名とパスワードが要求されます。 認証は LDAP に基づいています。 独自の LDAP サーバーまたはクラスターの Apache ディレクトリサーバーの LDAP サービスを使用します。
- クラスター内での LDAP サービスの使用
方法 1 (推奨)
ユーザー管理 ページに Knox アカウントを追加します。
方法 2- SSH を介してクラスターにログインします。詳細については、SSHを使用したクラスターへの接続をご参照ください。
- ユーザーデータを準備します。 ここでは、ユーザー名として Tom が使用されます。 ファイル内のすべてのemr-guest を Tom に、cn:EMR GUEST を cn:Tom に置き換え、userPassword にパスワードを設定します。
su knox cd /usr/lib/knox-current/templates vi users.ldif
重要 セキュリティのために、 LDAP にユーザーデータをエクスポートする前に、userPassword を自身のパスワードに変更することによって、users.ldif のパスワードを変更します。 - LDAP にエクスポートします。
su knox cd /usr/lib/knox-current/templates sh ldap-sample-users.sh
- LDAP サービスの使用
- クラスター管理ページに移動します。 cluster-topo 設定で、main.ldapRealm.userDnTemplate をユーザー DN テンプレートに、 main.ldapRealm.contextFactory.url を LDAP サーバードメイン名とポートに設定します。 設定を保存し、Knox を再起動します。
- 通常 LDAP サービスはクラスター内で実行されません。 パブリックネットワークで LDAP サービスにアクセスするには、ポート 10389 などのKnox ポートを有効にする必要があります。
詳細については、前述のポート 8443 を有効にする手順をご参照ください。インターネットアウトバウンド を選択します。
重要 セキュリティのために、認証オブジェクトは Knox クラスターのパブリック IP アドレスでなければなりません。 0.0.0.0/0** は禁止されています。
- クラスター内での LDAP サービスの使用
Knox へのアクセス
- E-MapReduce ショートカットリンクを使用したアクセス
- E-MapReduce コンソールにログインします。
- ターゲットクラスターの ID リンクをクリックします。
- 左側のナビゲーションウィンドウで、[クラスターとサービス] をクリックします。
- E-MapReduce サービスページで、HDFS および YARN などの関連サービスをクリックします。
- 右上隅の、[クイックリンク] をクリックします。
- クラスターのパブリック IP アドレスを使用したアクセス
- クラスター詳細でパブリック IP アドレスを確認します。
- ブラウザで関連サービスの URL にアクセスします。
- HDFS UI の URL は https://{cluster_access_ip}:8443/gateway/cluster-topo/hdfs/ です。
- YARN UI の URL は https://{cluster_access_ip}:8443/gateway/cluster-topo/yarn/ です。
- SparkHistory UI の URL は https://{cluster_access_ip}:8443/gateway/cluster-topo/sparkhistory/ です。
- Ganglia UI の URL は https://{cluster_access_ip}:8443/gateway/cluster-topo/ganglia/ です。
- Storm UI の URL は https://{cluster_access_ip}:8443/gateway/cluster-topo/storm/ です。
- Oozie UI の URL は https://{cluster_access_ip}:8443/gateway/cluster-topo/oozie/ です。
- Knox サービスは自己署名証明書を使用しているため、ブラウザに "ウェブサイトは安全ではありません" と表示されます。 アクセスした IP アドレスがクラスターの IP アドレスを同じであり、ポートが 8443 であることを確認します。 の順にクリックします。
- ログインダイアログボックスに LDAP に設定されているユーザー名とパスワードを入力します。
アクセスコントロールリスト
Knox では サービスレベルの認証管理が提供され、特定のユーザー、ユーザーグループ、および IP アドレスへのサービスアクセスが制限されます。 『Apache Knox 認証』をご参照ください。
- 例
- 本シナリオでは、 YARN UI では ユーザー Tom によるアクセスのみが許可されます。
- 手順は以下のとおりです。クラスター設定管理ページに移動します。 cluster-topo 設定で、ACL (アクセスコントロールリスト) をコード
<gateway>...</gateway>
ラベルの間に追加します。<provider> <role>authorization</role> <name>AclsAuthz</name> <enabled>true</enabled> <param> <name>YARNUI.acl</name> <value>Tom;*;*</value> </param> </provider>
- 注記
Knox では、HDFS ファイルの追加または削除を含むさまざまなサービスを操作するための RESTful API が提供されています。 セキュリティのために、ECS コンソールでセキュリティグループのポート 8443 を有効にするときに、認証オブジェクトが制限された IP アドレス範囲であることを確認します。 0.0.0.0/0 は禁止されています。 Knox へのアクセスには、Knox のインストールディレクトリの LDAP ユーザー名とパスワードは使用しません。