EMR Studio でアプリケーションとジョブをデバッグする - Amazon EMR

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

EMR Studio でアプリケーションとジョブをデバッグする

Amazon EMR Studio では、データアプリケーションインターフェイスを起動して、ブラウザでアプリケーションとジョブの実行を分析できます。

Amazon EMR コンソールから、EC2 クラスターで実行されている Amazon EMR の永続的なクラスター外のユーザーインターフェイスを起動することもできます。詳細については、「永続アプリケーションユーザーインターフェイスの表示」を参照してください。

注記

ブラウザの設定によっては、アプリケーション UI のポップアップを開くことができるようにする必要がある場合があります。

アプリケーションインターフェイスの設定と使用の詳細については、「The YARN Timeline Server」、「Monitoring and instrumentation、または「Tez UI overview」を参照してください。

Amazon EC2 ジョブで実行中の Amazon EMR をデバッグする

Workspace UI
ノートブックファイルからクラスタ上の UI を起動する

Amazon EMR リリースバージョン 5.33.0 以降を使用している場合、Workspace のノートブックから Spark ウェブユーザーインターフェイス (Spark UI または Spark History Server) を起動できます。

クラスター上の UIs、 PySpark、Spark、または SparkR カーネルで動作します。Spark イベントログまたはコンテナログの最大表示可能ファイルサイズは 10 MB です。ログファイルが 10 MB を超える場合は、ジョブをデバッグするためにクラスタ上の Spark UI ではなく、永続的な Spark History Server を使用することをお勧めします。

重要

EMR Studio が Workspace からクラスター上のアプリケーションユーザーインターフェイスを起動するには、クラスターが Amazon API Gateway と通信できる必要があります。Amazon API Gateway への発信ネットワークトラフィックを許可するように EMR クラスターを設定し、Amazon API Gateway がクラスターから到達可能であることを確認する必要があります。

Spark UI は、ホスト名を解決してコンテナログにアクセスします。カスタムドメイン名を使用する場合は、クラスターノードのホスト名が Amazon DNS または指定した DNS サーバーによって解決できることを確認する必要があります。これを行うには、クラスターに関連付けられている Amazon Virtual Private Cloud (VPC) の Dynamic Host Configuration Protocol (DHCP) オプションを設定します。DHCP オプションの詳細については、「Amazon Virtual Private Cloud ユーザーガイド」の「DHCP オプションセット」を参照してください。

  1. EMR Studio で、使用する Workspace を開き、EC2 で実行されている Amazon EMR クラスターにアタッチされていることを確認します。手順については、「EMR Studio Workspace にコンピューティングをアタッチする」を参照してください。

  2. ノートブックファイルを開き PySpark、、Spark、または SparkR カーネルを使用します。カーネルを選択するには、ノートブックツールバーの右上にあるカーネル名を選択し、[Select Kernel] (カーネルの選択) ダイアログボックスを開きます。カーネルが選択されていない場合、名前は [No Kernel!] (カーネルなし) として表示されます。

  3. ノートブックコードを実行します。Spark コンテキストを開始すると、ノートブックに次のような出力が表示されます。表示されるまでに数秒かかることがあります。Spark コンテキストを開始した場合は、%%info コマンドを実行して、Spark UI へのリンクにいつでもアクセスできます。

    注記

    Spark UI リンクが機能しない、または数秒経っても表示されない場合は、新しいノートブックセルを作成し、%%info コマンドを実行してリンクを再生成します。

    Spark UI へのリンクが含まれている、Spark アプリケーションマスター情報のスクリーンショット。Spark アプリケーションを実行すると、リンクがノートブックに表示されます。
  4. Spark UI を起動するには、[Spark UI][Link] (リンク) を選択します。Spark アプリケーションが実行されている場合、Spark UI が新しいタブで開きます。アプリケーションが完了している場合、代わりに Spark History Server が開きます。

    Spark UI を起動したら、ブラウザの URL を変更して YARN ResourceManager または Yarn Timeline Server を開くことができます。amazonaws.com の後に次のパスのいずれかを追加します。

    Web UI パス 変更後の URL の例
    YARN ResourceManager /rm https://j-examplebby5ij.emrappui-prod.eu-west-1.amazonaws.com/rm
    Yarn Timeline Server /yts https://j-examplebby5ij.emrappui-prod.eu-west-1.amazonaws.com/yts
    Spark History Server /shs https://j-examplebby5ij.emrappui-prod.eu-west-1.amazonaws.com/shs
Studio UI
EMR Studio UI から永続的な YARN Timeline Server、Spark History Server、または Tez UI を起動する
  1. EMR Studio で、ページの左側にある [Amazon EMR on EC2] を選択して、[Amazon EMR on EC2] クラスターリストを開きます。

  2. 検索ボックスに値を入力して、名前状態、または ID でクラスターのリストをフィルタリングします。作成の時間範囲で検索することもできます。

  3. クラスターを選択し、[Launch application UIs] (アプリケーション UI を起動する) を選択して、アプリケーションユーザーインターフェイスを選択します。アプリケーション UI が新しいブラウザタブで開き、ロードにしばらく時間がかかる場合があります。

EMR Serverless で実行されている EMR Studio をデバッグする

Amazon EC2 で実行される Amazon EMR と同様に、Workspace ユーザーインターフェイスを使用して EMR Serverless アプリケーションを分析できます。Workspace UI では、Amazon EMR リリースバージョン 6.14.0 以降を使用している場合、Workspace のノートブックから Spark ウェブユーザーインターフェイス (Spark UI または Spark History Server) を起動できます。また、Spark ドライバーログにすばやくアクセスできるように、ドライバーログへのリンクも用意されています。

Spark History Server を使用して Amazon EMR on EKS ジョブ実行をデバッグする

ジョブ実行を Amazon EMR on EKS クラスターに送信すると、Spark History Server を使用してそのジョブ実行のログにアクセスできます。Spark History Server は、スケジューラのステージとタスクのリスト、RDD サイズとメモリ使用量のサマリー、環境情報など、Spark アプリケーションをモニタリングするためのツールを提供します。Amazon EMR on EKS ジョブ実行用に Spark History Server を起動するには、次の方法があります。

  • Amazon EMR on EKS マネジメントエンドポイントで EMR Studio を使用してジョブ実行を送信すると、Workspace のノートブックファイルから Spark History Server を起動できます。

  • AWS CLI または AWS SDK for Amazon EMR on EKS を使用してジョブ実行を送信すると、EMR Studio UI から Spark History Server を起動できます。

Spark History Server を使用する方法については、Apache Spark ドキュメントの「Monitoring and Instrumentation」を参照してください。ジョブ実行の詳細については、「Amazon EMR on EKS 開発ガイド」の「Concepts and components」を参照してください。

EMR Studio Workspace のノートブックファイルから Spark History Server を起動するには
  1. Amazon EMR on EKS クラスターに接続されている Workspace を開きます。

  2. Workspace でノートブックファイルを選択して開きます。

  3. ノートブックファイルの上部で [Spark UI] を選択して、永続的な Spark History Server を新しいタブで開きます。

EMR Studio UI から Spark History Server を起動するには
注記

EMR Studio UI のジョブリストには、 AWS CLI または AWS SDK for Amazon EMR on EKS を使用して送信したジョブ実行のみが表示されます。

  1. EMR Studio のページの左側で [Amazon EMR on EKS] を選択します。

  2. ジョブ実行の送信に使用した Amazon EMR on EKS 仮想クラスターを検索します。検索ボックスに値を入力して、状態または ID でクラスターのリストをフィルタリングできます。

  3. クラスターを選択し、詳細ページを開きます。詳細ページには、ID、名前空間、ステータスなど、クラスターに関する情報が表示されます。このページには、そのクラスターに送信されたすべてのジョブ実行のリストも表示されます。

  4. クラスターの詳細ページで、デバッグするジョブ実行を選択します。

  5. [Jobs] (ジョブ) リストの右上で、[Launch Spark History Server] (Launch Spark History Server の起動) を選択して、新しいブラウザタブでアプリケーションインターフェイスを開きます。