- 인쇄
- PDF
Spark History Server 사용
- 인쇄
- PDF
VPC 환경에서 이용 가능합니다.
Spark History Server 앱으로 개인용 Spark History Server를 생성하여 자신이 수행한 작업만 확인할 수 있습니다. Data Forest에서는 SPARK-HISTORYSERVER-3.1.2 앱 타입을 지원합니다.
Spark History Server 앱 상세 정보 확인
앱 생성이 완료되면 상세 정보를 확인할 수 있습니다. 앱 상세 정보의 Status가 Stable이면 앱이 정상적으로 구동된 것을 의미합니다.
앱 상세 정보를 확인하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼의 콘솔에서 Services > Big Data & Analytics > Data Forest 메뉴를 차례대로 클릭해 주십시오.
- 좌측의 Data Forest > Apps 메뉴를 클릭해 주십시오.
- 앱을 소유한 계정을 선택해 주십시오.
- 상세 정보를 확인할 앱을 클릭해 주십시오.
- 앱 상세 정보를 확인해 주십시오.
- Quick links
- 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.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.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 설정 방법을 참조하여 히스토리 서버 관련 설정을 추가해 주십시오.