- 印刷する
- PDF
Spark History Serverの使用
- 印刷する
- PDF
VPC環境で利用できます。
Spark History Serverアプリで個人用 Spark History Serverを作成し、自分が遂行した作業だけを確認することができます。Data Forestでは、SPARK-HISTORYSERVER-3.1.2アプリタイプに対応します。
Spark History Serverアプリの詳細情報の確認
アプリの作成が完了すると詳細情報を確認できます。アプリの詳細情報の Statusが Stableであれば、アプリが正常に起動されたことを意味します。アプリの詳細情報を確認する方法は次の通りです。
- NAVERクラウドプラットフォームコンソールで Services > Big Data & Analytics > Data Forestメニューを順にクリックします。
- 左側の Data Forest > Appsメニューをクリックします。
- アプリを所有するアカウントを選択します。
- 詳細情報を確認するアプリをクリックします。
- アプリの詳細情報を確認します。
- 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メモリをリクエストして起動
- Quick links
Spark History Serverへアクセス
Quick linksリストから Spark History UI URLにアクセスした画像は次の通りです。
Spark History Serverは REST APIを提供します。
アプリ詳細情報の Quick linksリストから Spark History REST API URLにアクセスします。
アクセス画面は次の通りです。
ウェブシェルを介して 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 Name | Info |
---|---|
spark.eventLog.enabled | true |
spark.eventLog.dir | hdfs://koya/user/dataforest-test/spark2-history/ |
spark.yarn.historyServer.address | https://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を実行する方法は、次の通りです。
- 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
- 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設定方法を参考にして、ヒストリーサーバ関連の設定を追加してください。