Spark History Serverの使用
    • PDF

    Spark History Serverの使用

    • PDF

    Article Summary

    VPC環境で利用できます。

    Spark History Serverアプリで個人用 Spark History Serverを作成し、自分が遂行した作業だけを確認することができます。Data Forestでは、SPARK-HISTORYSERVER-3.1.2アプリタイプに対応します。

    Spark History Serverアプリの詳細情報の確認

    アプリの作成が完了すると詳細情報を確認できます。アプリの詳細情報の StatusStableであれば、アプリが正常に起動されたことを意味します。アプリの詳細情報を確認する方法は次の通りです。

    1. NAVERクラウドプラットフォームコンソールで Services > Big Data & Analytics > Data Forestメニューを順にクリックします。
    2. 左側の Data Forest > Appsメニューをクリックします。
    3. アプリを所有するアカウントを選択します。
    4. 詳細情報を確認するアプリをクリックします。
    5. アプリの詳細情報を確認します。
      df-shs_1-2_vpc_ko
      • Quick links
        • AppMaster: コンテナログを確認できる URL。アプリを作成するとすべてのアプリは YARNキューに提出され、YARNは各アプリの詳細情報を確認できる Web UIを提供。
        • Spark History REST API: Spark History Serverで提供する REST API
        • Spark History UI: Spark History Uiにアクセスできる URL
        • shell-shs-0: Spark Historyがインストールされたコンテナの(Web shell) URL。ユーザーのアカウント名とパスワードでログイン
        • supervisor-shs-0: Supervisorがインストールされたコンテナのウェブシェル URL。ユーザーのアカウント名とパスワードでログイン
      • コンポーネント: SPARK-HISTROYSERVER-3.1.2タイプは shsコンポーネントのみで構成されます。
        • shs: デフォルト値として 1Core/4GBメモリをリクエストして起動

    Spark History Serverへアクセス

    Quick linksリストから Spark History UI URLにアクセスした画像は次の通りです。

    df-shs_04-1_vpc

    Spark History Serverは REST APIを提供します。
    アプリ詳細情報の Quick linksリストから Spark History REST API URLにアクセスします。
    アクセス画面は次の通りです。

    df-shs_05-1_vpc

    ウェブシェルを介して REST APIを使用する場合は、上部で確認した Spark History REST APIアドレスを使用して次のように使用できます。以下は dataforest-testユーザーの例です。

    $ curl -i -u ys https://dataforest-test--sparkhs-new--shs--18080.proxy.kr.df.naverncp.com/api/v1/version
    
    Enter host password for user 'dataforest-test':
    HTTP/1.1 200 OK
    Server: nginx/1.14.0
    Date: Fri, 14 Oct 2022 08:14:24 GMT
    Content-Type: application/json
    Content-Length: 25
    Connection: keep-alive
    Set-Cookie: hadoop.auth="u=dataforest-test&p=dataforest-test&t=authnz-ldap&e=1665771263843&s=v37ewQQe7TSTjntpg5rqUfZsRrRuCvfQux0P2onFy7I="; HttpOnly
    Cache-Control: no-cache, no-store, must-revalidate
    X-Frame-Options: SAMEORIGIN
    X-XSS-Protection: 1; mode=block
    X-Content-Type-Options: nosniff
    Vary: Accept-Encoding, User-Agent
    
    {
      "spark" : "3.1.2-1"
    }
    

    Spark作業の設定

    個人用 Spark History Serverを使用するには、 Sparkに以下のように入力して作業の設定を完了してください。

    • spark.eventLog.enabledspark.eventLog.enabled : true
    • spark.eventLog.dir: Spark History Serverアプリの spark.history.fs.logDirectory設定と同じです。hdfs://koya/user/{USER}/spark2-history/がデフォルト値に設定されています。{USER}にはユーザーのアカウント名を入力して作成してください。
    • spark.yarn.historyServer.address: ヒストリーサーバアドレスです。アプリを作成して、Quick linksで Spark History UIの URLを入力します。

    <例>
    dataforest-testユーザーの例は次の通りです。

    Property NameInfo
    spark.eventLog.enabledtrue
    spark.eventLog.dirhdfs://koya/user/dataforest-test/spark2-history/
    spark.yarn.historyServer.addresshttps://dataforest-test--spark-historyserver--shs--18080.proxy.kr.df.naverncp.com

    設定変更後に作業を提出すると、個人用 Spark History Serverで提出した作業情報を照会することができます。

    個人用 Spark設定の変更作業

    個人用 Spark作業の設定を追加する方法は次の通りです。

    $ vi $SPARK_CONF_DIR/spark-defaults.conf
    ...
    spark.eventLog.dir hdfs://koya/user/dataforest-test/spark2-history/
    spark.eventLog.enabled true
    spark.yarn.historyServer.address={Spark History UI}
    ...
    
    参考

    ウェブシェルを使用する場合は、以下の先に移しておいた設定ファイルを修正して使用してください。

      $ cd ~/conf
      $ vi spark-defaults.conf # 구성 변경
    

    Pyspark、spark-shellの実行

    PySparkと spark-shellを実行する方法は、次の通りです。

    1. PySparkを実行する際に以下のオプションを追加して実行します。
    $ pyspark --conf spark.driver.extraJavaOptions=-Dhdp.version=3.1.0.0-78 \
    --conf spark.yarn.am.extraJavaOptions=-Dhdp.version=3.1.0.0-78 \
    --conf spark.yarn.appMasterEnv.YARN_CONTAINER_RUNTIME_DOCKER_MOUNTS=/usr/hdp:/usr/hdp:ro \
    --conf spark.executorEnv.YARN_CONTAINER_RUNTIME_DOCKER_MOUNTS=/usr/hdp:/usr/hdp:ro
    
    1. spark-shellも以下のコマンドで実行します。
    spark-shell --conf spark.driver.extraJavaOptions=-Dhdp.version=3.1.0.0-78 \
    --conf spark.yarn.am.extraJavaOptions=-Dhdp.version=3.1.0.0-78 \
    --conf spark.yarn.appMasterEnv.YARN_CONTAINER_RUNTIME_DOCKER_MOUNTS=/usr/hdp:/usr/hdp:ro \
    --conf spark.executorEnv.YARN_CONTAINER_RUNTIME_DOCKER_MOUNTS=/usr/hdp:/usr/hdp:ro
    --conf spark.kerberos.access.hadoopFileSystems=hdfs://<사용하려는 네임노드 명시>
    

    Zeppelinを使用する場合

    Apache Zeppelinの Sparkインタープリターで個人用 Spark History Serverアプリを使用できます。Zeppelin の使用 > Interpreterの設定の spark.yarn.queue設定方法を参考にして、ヒストリーサーバ関連の設定を追加してください。


    この記事は役に立ちましたか?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.