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