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. 네이버 클라우드 플랫폼의 콘솔에서 Services > Big Data & Analytics > Data Forest 메뉴를 차례대로 클릭해 주십시오.
    2. 좌측의 Data Forest > Apps 메뉴를 클릭해 주십시오.
    3. 앱을 소유한 계정을 선택해 주십시오.
    4. 상세 정보를 확인할 앱을 클릭해 주십시오.
    5. 앱 상세 정보를 확인해 주십시오.
      df-shs_2-1_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 설정 방법을 참조하여 히스토리 서버 관련 설정을 추가해 주십시오.


    이 문서가 도움이 되었습니까?

    What's Next
    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.