분산처리/빅데이터-하둡, 하이브로 시작하기

4) YARN

busy맨 2023. 7. 27. 17:46

1. YARN(Yet Another Resource Negotiator)

  • 하둡에서 도입한 클러스터 리소스 관리 및 애플리케이션 생명 주기 관리를 위한 아키텍처

 

구성

  • 리소스 매니저(Resource Manager)
  • 노드 매니저(Node Manager)
  • 애플리케이션 마스터(Application Master)
  • 컨테이너(Container)

 

자원 관리

  • 클러스터 자원 관리는 리소스 매니저와 노드 매니저를 이용하여 처리
  • 노드 매니저는 클러스터의 각 노드마다 실행되고 현재 노드의 자원 상태를 관리하여 리소스 매니저에 보고
  • 리소스 매니저는 전달받은 정보를 이용하여 클러스터 전체의 자원을 관리
  • 자원을 분배하는 규칙을 설정하는 스케줄러(Scheduler)에 설정된 규칙에 따라 자원을 효율적으로 분배

 

라이프사이클 관리

  • 애플리케이션의 라이프사이클 관리는 애플리케이션 마스터와 컨테이너를 이용하여 처리
  • 클라이언트가 리소스 매니저에 애플리케이션을 제출하면, 리소스 매니저는 비어 있는 노드에서 애플리케이션 마스터를 실행
  • 애플리케이션 마스터는 작업 실행을 위한 자원을 리소스 매니저에 요청하고, 자원을 할당 받아서 각 노드에 컨테이너 실행
    • 컨테이너는 실제 작업이 실행되는 단위
  • 컨테이너에서 작업이 종료되면 결과를 애플리케이션 마스터에게 알림
  • 애플리케이션 마스터는 모든 작업이 종료되면 리소스 매니저에 알리고 자원을 해제

 

2. YARN-Schduler

  • 리소스 매니저는 클러스터 자원을 관리하고, 애플리케이션 마스터의 요청을 받아서 자원을 할당
  • 자원 할당을 위한 정책을 스케줄러

 

하둡에서 제공하는 기본 스케줄러

  • FIFO스케줄러
    • First In, First Out
    • 먼저 들어온 작업이 먼저 처리
    • 자원을 효율적으로 사용할 수 없기 때문에 테스트 목적으로만 사용을 권고
  • Fair스케줄러
    • 제출된 작업이 동등하게 리소스를 점유
    • 클러스터는 자원을 조절하여 작업에 균등하게 자원을 할당
  • Capacity스케줄러
    • 기본 스케줄러
    • 트리형태로 큐를 선언하고, 각 큐 별로 이용할 수 있는 자원의 용량을 정하여 주면 그 용량에 맞게 자원을 할당

 

3. YARN Node Labels

  • 노드 레이블
    • 서버를 특성에 맞게 구분하여 작업을 처리하게 하는 기능
  • 특징
    1. 하나의 노드는 하나의 파티션을 가질 수 있음
      • 기본값은 Default 파티션
      • 클러스터는 여러 파티션(노드)으로 구성할 수 있음
      • 스케줄러에서 사용자가 각 파티션이 사용할 수 있는 리소스의 양을 설정
      • 노드 레이블로 지정되지 않은 큐는 기본 파티션을 이용
    2. 접근제어(ACL)
      • 큐에서 설정된 노드만 작업에 이용할 수 있고, 이를 통해 각 노드에 대한 접근 제어가 가능
    3. 클러스터 사용량 제어
      • 각 노드마다 사용할 수 있는 자원의 비율을 지정하여 사용량을 제어
  • 종류
    • Exclusive 파티션
      • 클러스터의 자원에 여유가 있어도 지정한 파티션만 이용하여 작업을 처리
    • Non-Exclusive 파티션
      • 클러스터에 여유가 있다면 Default 파티션으로 요청한 작업에 대해 처리 가능

 

4. YARN 고가용성

  • YARN은 리소스 매니저가 단일 실패 지점
  • 리소스 매니저에 문제가 발생하면 클러스터의 자원관리, 작업 관리 기능을 사용할 수 없기 때문에 HA 기능을 제공

리소스 매니저 HA

  • 리소스 매니저 고가용성은 주키퍼와 액티브, 스탠바이 리소스 매니저를 이용하여 제공
  • 각 리소스 매니저는 클러스터와 작업 상태 보관을 위한 메타 데이터를 저장하기 위한 저장소를 공유

 

5. 타임라인 서비스

  • 흐름 개념을 명시적으로 지원
  • 흐름 수준에서 메트릭 집계 지원

구조

'분산처리 > 빅데이터-하둡, 하이브로 시작하기' 카테고리의 다른 글

5-2) hive 테이블 1  (0) 2023.07.31
5-1) 하이브(hive)  (0) 2023.07.27
3) 맵리듀스  (0) 2023.07.27
2-4) HDFS 기능 2  (0) 2023.07.18
2-3) HDFS 기능 1  (0) 2023.07.17