[DataEngineering] YARN(하둡2)
YARN(하둡2)
- Yet Another Resource Negotiator
- yarn : hadoop에서의 리소스 매니저, 자원관리 시스템
✅ 기존의 하둡 맵리듀스 시스템의 단점
- 잡 트래커의 경우 클래스터의 자원 관리 문제와 잡 관리 문제를 함께 수행해야하기 때문에 클러스터에서 병목 지점이 된다.
- 태스크 트래커의 경우 한 노드에서 실행할 수 있는 맵과 리듀스용 태스크 개수가 제한됨. 노드에 여유자원이 있어도 그 자원을 활용하지 못하는 상황 발생. 맵 리듀스 잡만 수행 가능했음
✅ YARN
- 잡 트래커가 하던 두 가지 역할을 분리 : 자원관리(리소스매니저), 잡 상태 관리(어플리케이션마스터) -> 잡 트래커에 몰리던 오버헤드를 제거
- 맵 리듀스 잡 외에 다른 잡도 수행가능
✅ 얀의 구조
✅ YARN의 실행 흐름
- 클라이언트가 rm에 어플리케이션 제출
- nodemanager를 통해 app master를 실행
- AM은 RM에 자신을 등록
- AM은 RM을 통해 어플리케이션을 실행할 컨테이너 할당을 요청함
- AM은 NM에게 할당된 컨테이너를 실행하라고 요청함
- 컨테이너에게 실행되는 어플리케이션은 상태 정보를 AM에 전송
- 클라이언트는 어플리케이션 실행 상태 정보를 얻기 위해 AM과 직접 통신
- 어플리케이션이 종료되면 AM은 RM에서 자신을 제거하고 셧다운 됨