IBM Cloud Docs
Spark ヒストリー・サーバー

Spark ヒストリー・サーバー

IBM Analytics Engine インスタンスでサブミットされた Spark アプリケーションは、 インスタンス・ホームとして定義された Object Storage バケットに Spark イベントを転送します。 Spark ヒストリー・サーバーには、これらの Spark イベントを表示するための Web UI が用意されています。 Web UI は、以下のような有用な情報を表示することで、Spark アプリケーションの実行状況を分析するのに役立ちます。

  • アプリケーションが実行されたときに通過するステージのリスト
  • 各ステージのタスクの数
  • 実行中の executor やメモリー使用量などの構成の詳細

詳しくは、 Spark ヒストリー・サーバーの資料 を参照してください。

Spark アプリケーション構成でプロパティー spark.eventLog.enabledfalse に設定することで、Spark アプリケーションからの Spark イベントの転送を無効にできます。

Spark ヒストリー・サーバーの開始と停止

Spark ヒストリー・サーバーにアクセスする前に、サーバーを始動する必要があります。 不要になったら、サーバーを停止する必要があります。 Spark ヒストリー・サーバーの実行中にそのサーバーによって消費される CPU コアおよびメモリーに対して課金されます。

Spark ヒストリー・サーバーは、以下を使用して開始および停止できます。

Analytics Engine REST API

Analytics Engine REST API を使用できます。

  1. Spark ヒストリー・サーバーの状況を表示するには、以下のようにします。

    curl "https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance_id>/spark_history_server" --header "Authorization: bearer <iam token>"
    
  2. Spark ヒストリー・サーバーを始動するには

    curl --location --request POST "https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance_id>/spark_history_server" --header "Authorization: bearer <iam token>"
    
  3. Spark ヒストリー・サーバーを停止するには

    curl --location --request DELETE "https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance_id>/spark_history_server" --header "Authorization: bearer <iam token>"
    

Analytics Engine インスタンス UI

Analytics Engine インスタンス UI を使用できます。 ​

  1. Spark ヒストリー・サーバーの状況を表示するには、以下のようにします。

    1. IBM Cloudでリソース・リストを開きます。
    2. 「サービスとソフトウェア」 をクリックし、インスタンスを選択して詳細ページを開きます。
    3. 「Spark 履歴」 タブを選択します。 サーバーの現在の状況がこのページに表示されます。

    Spark ヒストリー・サーバーの状況が Started に設定されている場合は、 「Spark ヒストリーの表示」 をクリックして、新しいブラウザー・タブで Spark ヒストリー・サーバーの Web UI を起動することもできます。

  2. Spark ヒストリー・サーバーを始動するには、以下のようにします。

    1. Spark history ページで、 「ヒストリー・サーバーの始動」 をクリックします。
    2. サーバー構成を選択し、 「開始」 をクリックして Spark ヒストリー・サーバーを開始します。
  3. Spark ヒストリー・サーバーを停止するには、以下のようにします。

    1. Spark history 」ページで、 「ヒストリー・サーバーの停止」 をクリックします。

Spark ヒストリー・サーバー Web UI を開く

Spark 履歴 Web UI を開くには、 Analytics Engine サービス・インスタンスのインスタンスの詳細ページを開き、 「Spark 履歴」 タブに切り替えて、 「Spark 履歴の表示」 をクリックします。

あるいは、Spark ヒストリー・サーバーの Web UI URL を、サービス・キー (サービス資格情報とも呼ばれる) として使用可能になっているサービス・エンドポイントを介して取得することもできます。 サービス・エンドポイントの取得を参照してください。

Web UIを開く前に、Spark ヒストリー・サーバーが稼働していることを確認してください。

Spark ヒストリー・サーバー UI の「ステージ」タブと「実行プログラム」タブの下にあるログ・リンクは機能しません。これは、Spark イベントではログが保持されないためです。 タスク・ログと実行プログラム・ログを確認するには、プラットフォーム・ロギングを有効にします。 詳しくは、ログの構成および表示を参照してください。

Spark ヒストリー・サーバー UI で古いアプリケーションを表示するには、以下のコマンドを使用して、spark-events を古いパスから新しいパスにコピーします。 ibmcloud cos object-copy -- bucket < destination_bucket> -- key /spark-events/<eventlog_app-1>-- copy-source /spark-events/<eventlog_app-1>

Spark ヒストリー・サーバー REST API へのアクセス

Web UI に加えて、Spark ヒストリー・サーバーには、Spark アプリケーションによって生成された Spark イベントを表示するために照会できる REST API も用意されています。 Spark ヒストリー・サーバー REST API は、サービス・キー (サービス資格情報とも呼ばれる) 内のサービス・エンドポイントとして使用できます。 サービス・エンドポイントの取得を参照してください。

Spark ヒストリー・サーバー REST API を呼び出す場合は、許可ヘッダーで IAM トークンをベアラー・トークンとして指定する必要があります。 E.g.

curl --location --request GET 'https://spark-console.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance id>/spark_history_api/v1/applications?status=completed' \
--header 'Authorization: Bearer <iam token>'

詳しくは、 Spark ヒストリー・サーバー REST API の資料 を参照してください。

Spark ヒストリー・サーバーのカスタマイズ

デフォルトでは、Spark ヒストリー・サーバーは、実行中に 1 CPU コアと 4 GiB のメモリーを消費します。 Spark ヒストリー・サーバーでより多くのリソースを使用する場合は、 Analytics Engine インスタンスのデフォルト構成で以下のプロパティーを設定できます。

  • ae.spark.history-server.cores (CPU コアの数)
  • ae.spark.history-server.memory (メモリー量)

REST API を使用した CPU コアおよびメモリー設定の更新

以下のように Analytics Engine REST API を使用して、CPU コアとメモリーの設定を更新できます。

curl --location --request PATCH "https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance_id>/default_configs" \
--header "Authorization: bearer <iam_token>" \
--header 'Content-Type: application/json' \
--data-raw '{
        "ae.spark.history-server.cores": "2",
        "ae.spark.history-server.memory": "8G"
}'

Spark ドライバーと executor vCPUの事前定義リスト、およびメモリー・サイズの組み合わせのみがサポートされます。 サポートされる Spark ドライバーと executor vCPU とメモリーの組み合わせ を参照してください。

追加のカスタマイズ

Analytics Engine インスタンスのデフォルトの Spark 構成にプロパティーを追加することで、Spark ヒストリー・サーバーをさらにカスタマイズできます。 標準の Spark 履歴構成オプションを参照してください。

これはマネージド・オファリングであるため、すべての標準 Spark 構成オプションをカスタマイズすることはできません。

サポートされる構成と設定のデフォルト値のリストについては、 デフォルト Spark 構成 を参照してください。

ベスト・プラクティス

Spark ヒストリー・サーバーを使用する必要がなくなった場合は、必ず停止してください。 Spark ヒストリー・サーバーは、状態が Started である間、CPU およびメモリー・リソースを継続的に消費することに注意してください。