YARN Timeline Service v.2

YARN Timeline Service v.2

이 문서는 기존 Timeline Server를 대체하는 YARN의 새 타임라인 서비스인 Timeline Service v.2에 대해 설명합니다. v2는 대규모 클러스터에서 애플리케이션의 현재 및 완료 상태 정보를 확장 가능하게 수집/저장/조회하도록 설계되었습니다.

출처: 문서

본문

개요 (Overview)

Timeline Service v.2는 애플리케이션별 정보를 수집하고 저장/검색하는 YARN 공유 서비스입니다. v1(TimelineServer)이 가지던 확장성 한계를 극복하기 위해 도입되었으며, 지속 스토리지(backing store)와 수집기(collector) 아키텍처를 사용합니다.

아키텍처

  • Timeline Service v.2는 애플리케이션 수명주기 동안 NodeManager에서 실행되는 컬렉터(collector)가 애플리케이션별 정보를 수집하고, 이를 지속 스토리지에 흐르게(flow) 합니다.
  • Aggregator/수집기: NodeManager 프로세스 안에서 실행되어 애플리케이션의 타임라인 이벤트를 집계합니다.
  • Backing store: HDFS 기반 스토리지에 데이터를 영구 저장합니다.
  • Reader: 웹 UI/REST API를 통해 저장된 데이터를 조회합니다.

이 구조 덕분에 단일 서버 부담 없이 클러스터 규모에 맞게 확장할 수 있습니다.

활성화 (Enabling)

Timeline Service v.2를 활성화하려면 conf/yarn-site.xml에 다음을 설정합니다.

<property>
  <name>yarn.timeline-service.enabled</name>
  <value>true</value>
</property>
<property>
  <name>yarn.timeline-service.version</name>
  <value>2.0</value>
</property>
<property>
  <name>yarn.timeline-service.v2.enabled</name>
  <value>true</value>
</property>
<property>
  <name>yarn.timeline-service.reader.enabled</name>
  <value>true</value>
</property>
<property>
  <name>yarn.timeline-service.writer.enabled</name>
  <value>true</value>
</property>
  • yarn.timeline-service.enabled: 타임라인 서비스를 활성화합니다.
  • yarn.timeline-service.version: 사용할 버전을 지정합니다. v2를 사용하려면 2.0으로 설정합니다.
  • yarn.timeline-service.v2.enabled: v2를 활성화합니다.
  • yarn.timeline-service.writer/reader.enabled: 각각 쓰기/읽기 구성요소를 활성화합니다.

실행 (Running)

Timeline Service v.2(collector/reader를 포함한 ATSv2)는 yarn-daemon.sh start timelineserver 또는 yarn timelineserver로 실행됩니다. 웹 UI는 기본적으로 http://<ats2-host>:8188에서 제공됩니다.

REST API

  • GET /ws/v2/timeline/apps: 애플리케이션 목록.
  • GET /ws/v2/timeline/apps/{appid}: 지정된 애플리케이션 정보.
  • PUT /ws/v2/timeline/apps/{appid}/entities: 엔티티 게시(저장).

스토리지 구성

v2의 백킹 스토어는 HDFS에 저장됩니다. 관련 로그/데이터 디렉터리와 보존 기간(TTL) 설정을 통해 저장량을 관리할 수 있습니다.

더 알아보기 (Learn more)