Amazon で永続アプリケーションユーザーインターフェイスを表示する EMR - Amazon EMR

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon で永続アプリケーションユーザーインターフェイスを表示する EMR

Amazon EMRバージョン 5.25.0 以降では、クラスター概要ページまたはコンソールのアプリケーションユーザーインターフェイスタブを使用して、クラスター外でホストされる永続的な Spark History Server アプリケーションの詳細に接続できます。Tez UI とYARNタイムラインサーバーの永続アプリケーションインターフェイスは、Amazon EMRバージョン 5.30.1 以降で利用できます。永続的なアプリケーション履歴へのワンクリックリンクアクセスには、次の利点があります。

  • SSH 接続を介してウェブプロキシを設定することなく、アクティブなジョブとジョブ履歴をすばやく分析およびトラブルシューティングできます。

  • アクティブなクラスターと終了したクラスターのアプリケーション履歴および関連ログファイルにアクセスできます。ログは、アプリケーションの終了後 30 日間利用できます。

コンソールでクラスターの詳細に移動し、[アプリケーション] タブを選択します。クラスターが起動したら、必要なアプリケーション UI を選択します。アプリケーション UI が新しいブラウザタブで開きます。詳細については、「Monitoring and Instrumentation」を参照してください。

Spark 履歴サーバー、YARNタイムラインサーバー、および Tez UI のリンクからYARNコンテナログを表示できます。

注記

Spark 履歴サーバー、YARNタイムラインサーバー、および Tez UI からYARNコンテナログにアクセスするには、クラスターの Amazon S3 へのログ記録を有効にする必要があります。ログ記録を有効にしない場合、YARNコンテナログへのリンクは機能しません。

ログの収集

永続アプリケーションユーザーインターフェイスへのワンクリックアクセスを有効にするために、Amazon は 2 種類のログをEMR収集します。

  • アプリケーションイベントログは、 EMRシステムバケットに収集されます。イベントログは、Amazon S3 マネージドキーによるサーバー側の暗号化 (-S3) を使用して保管時に暗号化されますSSE-S3。クラスターにプライベートサブネットを使用する場合は、プライベートサブネットの Amazon S3 ポリシーのリソースリストARNsに正しいシステムバケットを含めてください。詳細については、「プライベートサブネットの最小 Amazon S3 ポリシー」を参照してください。

  • YARN コンテナログは、所有する Amazon S3 バケットに収集されます。YARN コンテナログにアクセスするには、クラスターのログ記録を有効にする必要があります。詳細については、「クラスターのログ記録とデバッグを設定する」を参照してください。

プライバシー上の理由でこの機能を無効にする必要がある場合は、以下の例に示すように、クラスターを作成するときにブートストラップスクリプトを使用してデーモンを停止できます。

aws emr create-cluster --name "Stop Application UI Support" --release-label emr-7.5.0 \ --applications Name=Hadoop Name=Spark --ec2-attributes KeyName=<myEMRKeyPairName> \ --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m3.xlarge InstanceGroupType=CORE,InstanceCount=1,InstanceType=m3.xlarge InstanceGroupType=TASK,InstanceCount=1,InstanceType=m3.xlarge \ --use-default-roles --bootstrap-actions Path=s3://region.elasticmapreduce/bootstrap-actions/run-if,Args=["instance.isMaster=true","echo Stop Application UI | sudo tee /etc/apppusher/run-apppusher; sudo systemctl stop apppusher || exit 0"]

このブートストラップスクリプトを実行すると、Amazon EMRは Spark History Server またはYARNタイムラインサーバーのイベントログをEMRシステムバケットに収集しません。[Application user interfaces (アプリケーションユーザーインターフェイス)] タブにはアプリケーション履歴情報が表示されず、コンソールからすべてのアプリケーションユーザーインターフェイスにアクセスできなくなります。

大規模な Spark イベントログファイル

場合によっては、Spark ストリーミングなどの長時間実行される Spark ジョブや、Spark SQLクエリなどの大規模なジョブは、大きなイベントログを生成することがあります。大きなイベントログを使用すると、コンピューティングインスタンスのディスク容量をすばやく使い切り、永続 をロードするときにOutOfMemoryエラーが発生する可能性がありますUIs。このような問題を回避するには、Spark イベントログのローリングと圧縮機能を有効にすることをお勧めします。この機能は、Amazon EMRバージョン emr-6.1.0 以降で使用できます。ローリングと圧縮の詳細については、Spark ドキュメントの「Applying compaction on rolling event log files」を参照してください。

Spark イベントログのローリングおよび圧縮機能を有効にするには、以下の Spark 構成設定を有効にします。

  • spark.eventLog.rolling.enabled - サイズに基づくイベントログのローリングを有効にします。この設定はデフォルトでは無効になっています。

  • spark.eventLog.rolling.maxFileSize - ローリングが有効な場合、ロールオーバーする前のイベントログファイルの最大サイズを指定します。デフォルトでは 128 MB です。

  • spark.history.fs.eventLog.rolling.maxFilesToRetain - 保持する圧縮されていないイベントログファイルの最大数を指定します。デフォルトでは、すべてのイベントログファイルが保持されます。小さい値に設定すると、古いイベントログが圧縮されます。最小値は 1 です。

圧縮では、次のような古いイベントログファイルを含むイベントを除外しようとするため注意してください。イベントが破棄されると、Spark 履歴サーバー UI には表示されなくなります。

  • 終了したジョブのイベント、および関連するステージやタスクのイベント

  • 終了したエグゼキューターのイベント

  • 完了したSQL問い合わせのイベント、および関連するジョブ、ステージ、タスクのイベント。

ローリングと圧縮を有効にしてクラスターを起動するには
  1. 次の設定で spark-configuration.json ファイルを作成します。

    [ { "Classification": "spark-defaults", "Properties": { "spark.eventLog.rolling.enabled": true, "spark.history.fs.eventLog.rolling.maxFilesToRetain": 1 } } ]
  2. 以下のように Spark のローリング圧縮設定を使用してクラスターを作成します。

    aws emr create-cluster \ --release-label emr-6.6.0 \ --instance-type m4.large \ --instance-count 2 \ --use-default-roles \ --configurations file://spark-configuration.json

考慮事項と制限事項

現在、永続アプリケーションユーザーインターフェイスへのワンクリックアクセスには、次の制限があります。

  • Spark History Server UI にアプリケーションの詳細が表示されると、少なくとも 2 分間の遅延が発生します。

  • この機能は、アプリケーションのイベントログディレクトリが にある場合にのみ機能しますHDFS。デフォルトでは、Amazon はイベントログを のディレクトリにEMR保存しますHDFS。デフォルトのディレクトリを Amazon S3 などの別のファイルシステムに変更すると、この機能が動作しません。

  • この機能は、現在、複数のマスターノードを持つEMRクラスターや と統合されたEMRクラスターでは使用できません AWS Lake Formation。

  • 永続アプリケーションユーザーインターフェイスへのワンクリックアクセスを有効にするには、Amazon の DescribeClusterアクションに対するアクセス許可が必要ですEMR。このアクションに対するプリンIAMシパルのアクセス許可を拒否すると、アクセス許可の変更が反映されるまでに約 5 分かかります。

  • 実行中のクラスターでアプリケーションを再設定すると、アプリケーション UI からアプリケーション履歴を使用できなくなります。

  • アクティブなアプリケーションのデフォルトの制限は AWS アカウント、それぞれ 200 UIsです。

  • 以下では AWS リージョン、Amazon 6.14.0 EMR 以降のコンソールUIsからアプリケーションにアクセスできます。

    • アジアパシフィック (ジャカルタ) (ap-southeast-3)

    • 欧州 (スペイン) (eu-south-2)

    • アジアパシフィック (メルボルン) (ap-southeast-4)

    • イスラエル (テルアビブ) (il-central-1)

    • 中東 (UAE) (me-central-1)

  • 以下では AWS リージョン、Amazon 5.25.0 EMR 以降のコンソールUIsからアプリケーションにアクセスできます。

    • 米国東部 (バージニア北部) (us-east-1)

    • 米国西部 (オレゴン) (us-west-2)

    • アジアパシフィック (ムンバイ) (ap-south-1)

    • アジアパシフィック (ソウル) (ap-northeast-2)

    • アジアパシフィック (シンガポール) (ap-southeast-1)

    • アジアパシフィック (シドニー) (ap-southeast-2)

    • アジアパシフィック (東京) (ap-northeast-1)

    • カナダ (中部) (ca-central-1)

    • 南米 (サンパウロ) (sa-east-1)

    • ヨーロッパ (フランクフルト) (eu-central-1)

    • 欧州 (アイルランド) (eu-west-1)

    • ヨーロッパ (ロンドン) (eu-west-2)

    • 欧州 (パリ) (eu-west-3)

    • 欧州 (ストックホルム) (eu-north-1)

    • 中国 (北京) (cn-north-1)

    • 中国 (寧夏) (cn-northwest-1)