Amazon EMR クラスターでホストされているウェブインターフェイスを表示する - Amazon EMR

Amazon EMR クラスターでホストされているウェブインターフェイスを表示する

重要

カスタムセキュリティグループを設定して、これらのウェブインターフェイスへのインバウンドアクセスを許可することができます。インバウンドトラフィックを許可するポートでは、セキュリティ脆弱性が生じる可能性があることに注意してください。カスタムセキュリティグループを注意深く確認して、脆弱性を最小限に抑えます。詳細については、「セキュリティグループを使用してネットワークトラフィックを制御する」を参照してください。

EMR クラスターにインストールする Hadoop やその他のアプリケーションは、プライマリノードでホストされるウェブサイトとしてユーザーインターフェイスを公開します。セキュリティ上の理由のため、Amazon EMR マネージドセキュリティグループを使用する場合、これらのウェブサイトは、プライマリノードのローカルウェブサーバー上のみで使用できます。そのため、ウェブインターフェイスを表示するにはプライマリノードに接続する必要があります。詳細については、「SSH を使用してプライマリノードに接続する」を参照してください。Hadoop は、コアおよびタスクノードでホストされるウェブサイトとしてもユーザーインターフェイスを公開します。これらのウェブサイトも、ノードのローカルウェブサーバーでのみ利用できます。

次の表は、クラスターインスタンスで表示できるウェブインターフェイスを示しています。これらの Hadoop インターフェイスは、すべてのクラスターで使用できます。マスターインスタンスインターフェイスの場合は、master-public-dns-name を Amazon EMR コンソールのクラスターの [概要] タブにリストされている [マスターパブリック DNS] に置き換えてください。コアおよびタスクインスタンスのインターフェイスについては、coretask-public-dns-name をインスタンスのパブリック DNS 名に置き換えます。インスタンスの [パブリック DNS 名] を見つけるには、Amazon EMR コンソールでリストからクラスターを選択し、[ハードウェア] タブを選択します。次に、接続するインスタンスを含むインスタンスグループの [ID] を選択し、インスタンスに対してリストされた [パブリック DNS 名] を書き留めます。

インターフェイスの名前

[URI]

Flink History Server(EMR バージョン 5.33 以降) http://master-public-dns-name:8082/
Ganglia http://master-public-dns-name/ganglia/
Hadoop HDFS NameNode (EMR バージョン 6.x より前) https://master-public-dns-name:50470/
Hadoop HDFS NameNode http://master-public-dns-name:50070/
Hadoop HDFS DataNode http://coretask-public-dns-name:50075/
Hadoop HDFS NameNode (EMR バージョン 6.x) https://master-public-dns-name:9870/
Hadoop HDFS DataNode (EMR バージョン 6.x より前) https://coretask-public-dns-name:50475/
Hadoop HDFS DataNode (EMR バージョン 6.x) https://coretask-public-dns-name:9865/
HBase http://master-public-dns-name:16010/
Hue http://master-public-dns-name:8888/
JupyterHub https://master-public-dns-name:9443/
Livy http://master-public-dns-name:8998/
Spark HistoryServer http://master-public-dns-name:18080/
Tez http://master-public-dns-name:8080/tez-ui
YARN NodeManager http://coretask-public-dns-name:8042/
YARN ResourceManager http://master-public-dns-name:8088/
Zeppelin http://master-public-dns-name:8890/

プライマリノードで利用できるアプリケーション固有のインターフェイスの中には、コアノードとタスクノードでは利用できないものもあるため、このドキュメントの手順は Amazon EMR プライマリノードに特化しています。コアノードおよびタスクノードのウェブインターフェイスには、プライマリノードのウェブインターフェイスにアクセスする場合と同じ手順でアクセスできます。

プライマリノードのウェブインターフェイスにアクセスするには、いくつかの方法があります。最も簡単な方法は、SSH を使用してプライマリノードに接続し、テキストベースのブラウザ Lynx を使用して SSH クライアントでウェブサイトを表示する方法です。ただし、Lynx はユーザーインターフェイスが制限されたテキストベースのブラウザであり、グラフィックを表示できません。次の例では、Lynx を使用して Hadoop ResourceManager のインターフェイスを開く方法を示します (SSH を使用してプライマリノードにログインするときに、Lynx の URL も指定されます)。

lynx http://ip-###-##-##-###.us-west-2.compute.internal:8088/

すべてのブラウザ機能を提供する、プライマリノードのウェブインターフェイスにアクセスするには、あと 2 つの方法があります。次のいずれかを選択します。

  • オプション 1 (技術的知識のあるユーザー向け): SSH クライアントを使用してプライマリノードに接続し、ローカルポートフォワーディングを使って SSH トンネリングを設定します。次に、インターネットブラウザを使用してプライマリノードでホストされるウェブインターフェイスを開きます。この方法では、SOCKS プロキシを使用せずに、ウェブインターフェイスへのアクセスを設定できます。

  • オプション 2 (新しいユーザー向け): SSH クライアントを使用してプライマリノードに接続し、ダイナミックポートフォワーディングを使用して SSH トンネリングを設定します。次に、Firefox 用の FoxyProxy や Chrome 用の SwitchyOmega などのアドオンを使用して SOCKS プロキシの設定を管理するようにインターネットブラウザを設定します。この方法では、テキストパターンに基づいて自動的に URL をフィルタリングし、プロキシの設定をプライマリノードの DNS 名の形式に合致するドメインに限定できます。Firefox および Google Chrome 用に FoxyProxy を設定する方法の詳細については、「オプション 2、パート 2: プライマリノードでホストされるウェブサイトを表示するようにプロキシを設定する」を参照してください。

注記

クラスター設定経由でアプリケーションが実行されるポートを変更すると、Amazon EMR コンソールでポートへのハイパーリンクが更新されません。これは、コンソールに server.port 設定を読み取る機能がないためです。

Amazon EMR バージョン 5.25.0 以降では、SSH 接続を介してウェブプロキシを設定しなくても、コンソールから Spark 履歴サーバー UI にアクセスできます。詳細については、「永続 Spark History Server へのワンクリックアクセス」を参照してください。