본문으로 건너뛰기

Spark History Server 사용

Hadoop Eco에서는 Spark History Server를 이용하여 Spark 작업을 모니터링할 수 있습니다. Spark History Server는 Spark 웹 UI를 통해 사용자가 실행한 Spark 작업의 로그를 시각적으로 제공하며, 이를 활용해 작업의 실행 상태 및 결과를 확인할 수 있습니다.

주의

로그 업로드 주기에 따라 클러스터 내부 Spark History Server 간의 데이터 차이가 발생할 수 있습니다.

Spark history server 기능

Spark History Server에서는 다음과 같은 기능을 제공합니다.

  • 클러스터 내부 및 외부 Spark 작업 모니터링
  • 실행 중인 Spark 애플리케이션의 이벤트 및 컨테이너 로그 확인
  • 종료된 클러스터의 Spark 작업 이력 조회

Spark History Server 로그 수집

Spark History Server 기능을 사용하기 위해 Hadoop Eco는 아래 두 가지 유형의 사용자 로그를 수집하여 저장합니다.

로그 타입설명
Spark Apps 로그Spark 작업을 실행하면 수집되는 이벤트 로그이며, 작업 실행 시간, 태스크 상태 등이 저장됩니다.
YARN 컨테이너 로그Spark 작업의 executor가 실행 중에 생성하는 로그이며, YARN 컨테이너 로그에 stdout, stderr로 저장됩니다.

해당 로그들은 클러스터 생성 시 사용자가 설정한 위치에 저장됩니다.
(로그 저장 설정은 클러스터 생성 시 설정 가능하며, 클러스터 생성 이후 설정은 불가합니다.)

단, 아래 조건에 따라 로그가 정상적으로 수집되지 않을 수 있습니다.

Spark History Server 실행 조건

  1. Hadoop Eco 클러스터 상태
  • Running 상태가 아닌 경우 Spark History Server가 정상적으로 실행되지 않을 수 있습니다.
  • 단, 로그가 정상적으로 수집된 Terminated 상태의 클러스터에서는 실행 가능합니다.
  1. 로그 수집 설정
  • 아래 설정을 사용자가 변경할 경우 로그가 정상적으로 수집되지 않을 수 있습니다.

    • Spark의 spark-defaults.conf 설정
    spark.eventLog.enabled                  true
    spark.eventLog.dir hdfs:///var/log/spark/apps
    • YARN의 yarn-site.xml 설정
    yarn-site.xml 설정
    <configuration>
    <property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
    </property>

    <property>
    <name>yarn.nodemanager.log-dirs</name>
    <value>/hadoop/yarn/log</value>
    </property>

    <property>
    <name>yarn.nodemanager.log.retain-seconds</name>
    <value>604800</value>
    </property>
    </configuration>
주의

로그 보존 기간을 너무 짧게 설정하면 로그 확인이 어려울 수 있습니다.

Spark History Server 실행 방법

  1. 카카오클라우드 콘솔 > Analytics > Hadoop Eco 메뉴로 이동합니다.

  2. 클러스터 메뉴에서 우측 상단에 위치한 [클러스터 생성] 버튼을 클릭합니다.

  3. 3단계: 상세 설정 > 클러스터 상세 설정에서 로그 저장 설정을 [사용]으로 변경합니다.

  4. Object Storage 버킷을 선택 후, 원하는 경로를 지정하고 [생성] 버튼을 클릭합니다.

  5. 생성한 Hadoop Eco 클러스터 상태가 Running으로 변경되면, 해당 클러스터를 선택하여 클러스터 상세 페이지로 이동합니다.

  6. 상세 페이지 우측 상단의 Spark 히스토리 서버 실행 버튼을 클릭합니다.

    • 버튼 클릭 시 5분 내에 서버가 실행되고, 실행이 완료되면 Spark History Server 열기로 버튼이 변경되고 서버가 자동 실행됩니다.
    • Spark History Server는 사용자 요청이 있으면 일정 시간 동안 유지되며, 요청이 없으면 자동으로 종료됩니다.
    • 서버가 종료되어도 사용자 로그는 삭제되지 않으며, Spark 히스토리 서버 실행 버튼을 통해 다시 실행할 수 있습니다.
주의
  • 대용량 로그 파일의 경우 Spark History Server가 실행 중 메모리 부족으로 종료될 수 있습니다.
  • 저장된 로그를 삭제할 경우 Spark History Server가 정상적으로 작동하지 않을 수 있습니다.
  • 보안 기능이 켜진 경우 설정에 따라 로그 수집에 오류가 발생할 수 있습니다.