SyntaxHighlighter.all();

YARN의 스케줄러 : FIFO , 캐퍼시티(가용량), 페어(균등) 스케줄러

 

1. FIFO

- 선입선출 스케줄러

- 장점 : 이해하기 쉽고, 설정이 필요없음

- 단점 : 공유 클러스터 환경에서는 적합하지 않음

          모든 자원 점유하면 다른 애플리케이션은 자기 차례가 올 때가지 계속 대기

대형 잡, 작은 잡 순서대로 실행시 효율성

 

* 그림 간단 설명 *

(2) 캐퍼시티
      작은 잡을 제출되는 즉시 분리된 전용 큐에서 처리
      해당 큐는 잡을 위한 자원을 미리 예약해두기 때문에 전체 클러스터의 효율성은 떨어짐

(3) 페어
     실행 중인 모든 잡의 자원을 동적으로 분배하기 때문에 미리 자원의 가용량을 에약할 필요가 없음
     작은 잡이 추가로 시작되면 클러스터 자원의 절반을 이 잡에 해당함

 

2. 캐퍼시티 스케줄러

(1) 작동원리

     각 조직은 전체 클러스터의 지정된 가용량을 미리 할당받음

     각 조직은 분리된 전용 큐를 가지며 클러스터 가용량의 지정된 부분을 사용하도록 설정할 수 있음

     큐는 1단계 이상의 계층 구조로 분리할 수 있음 -> 다른 사용자 그룹 사이의 클러스터의 가용량 공유 가능

      (큐 내부에 있는 애플리케이션 스케줄링은 FIFO방식)

 

(2) 큐 배치

     애플리케이션의 종류마다 큐 배치 방법은 달라진다.

     큐 지정하지 않으면 기본 큐인 default에 배치됨 

     ex) 맵리듀스는 큐 이름 지정가능 , 지정한 이름 없을 시 제출 시점에 에러 발생

                               

              

3. 페어 스케줄러

기본 스케줄러는 캐퍼시티 스케줄러라서 변경해야됨

(1) 작동원리

     실행 중인 모든 애플리케이션에게 동일하게 자원 할당 

     균등공유는 큐 사이에만 적용 가능

     (아래 그림은 사용자 B가 잡2, 3을 시작한 경우)

 

(2) 큐 설정

큐를 계층구조 설정 가능, 균등 공유의 비율을 정할 수 있음

 

(3) 큐 배치

규칙 기반 시스템을 이용하여 큐배치

큐를 명시적으로 지정하지 않으면 사용자 이름의 큐를 사용(없으면 자동 생성)

모든 애플리케이션을 동일한 큐에 저장하는 단순한 큐 배치 정책도 있음

 

(4) 선점 

선점 : 잡의 시작 시간을 어느 정도 예측 가능하게 만들기 위한 기능

        스케줄러가 자원의 균등 공유에 위배되는 큐에서 실행되는 컨테이너를 죽일 수 있도록 허용하는 기능

        큐에 할당된 자원은 균등 공유 기준을 반드시 따라야 함

       (중단된 컨테이너는 반드시 다시 수행되어야함 -> 전체적 효율성 떨어짐)

        최소 공유 선점 타임아웃, 균등 공유 선점 타임아웃 설정 해야됨 (기본값 설정 안되어있음)

* 최소 공유 선점 타임아웃, 균등 공유 선점 타임아웃 설정이유*

- 큐가 최소 보장 자원을 받지 못한 채 지정된 최소 공유 선점 타임아웃이 지나면 스케줄러는 다른 컨테이너를 선취
- 큐가 균등 공유의 절반 이하로 있는 시간이 균등 공유 선점 타임아웃을 초과하면 스케줄러는 다른 컨테이너를 선취

 

 

4. 지연 스케줄링

  - YARN의 모든 스케줄러는 지역성 요청을 중요시 

  - 지연 스케줄링 : 원하는 노드를 조금 더 기다려서 할당받음 (클러스터의 효율성 증가)

                         캐퍼시티, 페어 스케줄러 모두 지연 스케줄링 기능 제공

(1) 작동원리

     모든 노드 매니저는 주기적으로 리소스 매니저에 하트비트 요청을 보냄

     하트비트를 통해 노드 매니저가 정보 주고 받음 (실행 중인 컨테이너의 정보, 새로운 컨테이너위한 가용한 자원)

        -> 하트비트는 애플리케이션이 실행할 컨테이너를 얻을 수 있는 중요한 스케줄링 기회

        

5. 우성 자원 공평성

   - 우성자원 공평성 : 각 사용자의 우세한 자원을 확인한 후 이를 클러스터 사용량의 측정 기준으로 삼음!

 

 

 

 

+ Recent posts