Documentation Index

Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt

Use this file to discover all available pages before exploring further.

Spark History Server 사용

Prev Next

VPC 환경에서 이용 가능합니다.

Spark History Server 앱으로 개인용 Spark History Server를 생성하여 자신이 수행한 작업만 확인할 수 있습니다. Data Forest에서는 SPARK-HISTORYSERVER-3.1.2 앱 타입을 지원합니다.

Spark History Server 앱 상세 정보 확인

앱 생성이 완료되면 상세 정보를 확인할 수 있습니다. 앱 상세 정보의 StatusStable이면 앱이 정상적으로 구동된 것을 의미합니다.
앱 상세 정보를 확인하는 방법은 다음과 같습니다.

  1. 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 Menu > Services > Big Data & Analytics > Data Forest 메뉴를 차례대로 클릭해 주십시오.
  2. 좌측의 Data Forest > Apps 메뉴를 클릭해 주십시오.
  3. 앱을 소유한 계정을 선택해 주십시오.
  4. 상세 정보를 확인할 앱을 클릭해 주십시오.
  5. 앱 상세 정보를 확인해 주십시오.
    df-shs_2-1_updated_ko
    • 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 메모리를 요청하여 기동

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 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을 실행하는 방법은 다음과 같습니다.

  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.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.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 설정 방법을 참조하여 히스토리 서버 관련 설정을 추가해 주십시오.