SyntaxHighlighter.all();

맵리듀스 1 - 맵리듀스 분산 구현

맵리듀스 2 - YARN을 이용한 구현


1. 맵리듀스 1

- 두 종류의 데몬 (잡의 실행을 제어하는 하나의 잡트래커, 하나 이상의 테스크트래커)

    → 잡 트래커 : 여러 태스크트래커에서 실행되는 태스크를 스케줄링함으로써 시스템에서 실행되는 모든 잡 조율

                        태스크 실패시 잡트래커는 다른 태스크 트래커에 그 태스크를 다시 스케줄링 함

        태스크 트래커 : 태스크를 실행하고 진행 상황을 잡트래커에 전송 

                               (잡트래커는 전체 진행상황 파악가능)

 

2. 맵리듀스2 ( YARN ) 

1) 맵리듀스 1, 2 차이

맵리듀스 1  맵리듀스 2 (YARN)
잡트래커 리소스 매니저,
애플리케이션 마스터 (맵리듀스 잡당 하나),
타임라인 서버
태스크트래커 노드 매니저
슬롯 컨테이너

 

  맵리듀스 1 맵리듀스 2
잡트래커,
리소스 매니저,
애플리케이션 마스터 
타임라인 서버
- 잡 스케줄링 (태스크와 태스크트래커 연결)
- 태스크 진행 모니터링
  (태스크를 추적하고, 실해하거나 느린 태스크를 다시 시작,
    전체 카운터를 유지하는 방법으로 태스크 장부 기록)
- 완료된 잡에 대한 잡 이력을 저장
   (잡트래커의 부하를 줄이기 위해 데몬사용)
- 맵리듀스 1과 동일한 역할을 수행
- 잡 스케줄링, 태스크 진행 모니터링
  (리소스매니저, 애플리케이션 마스터)
- 완료된 잡에 대한 잡 이력을 저장 
   (애플리케이션의 이력을 저장하는
     타임라인 서버가 저장함)

 

2) 맵리듀스 1의 한계 극복!!! 

  (1) 확장성 

       맵리듀스 1보다 큰 클러스터에서 실행가능 -> YARN은 10000노드와 100000태스크까지 확장 가능

  (2) 가용성

       YARN은 리소스 매니저, 애플리케이션 마스터로 분리되었기 때문에 HA서비스가 '분할 후 정복'문제로 바뀜

   (3) 효율성

       맵리듀스 1에서 각 태스크 트래커는 맵슬롯, 리듀스슬롯으로 구분하여 관리 (각각의 태스크에서만 사용가능)

       YARN은 슬롯 대신 일종의 리소스 풀로 관리

       -> 이득 : 리듀스 슬롯이 모자라서 리듀스 태스크가 계속 대기할 일은 없음

                   YARN은 잘 쪼개져 있기 때문에 필요한 만큼만 자원 요청가능

   (4) 멀티테넌시 (다중 사용자)

        가장 큰 장점!! -> 하둡이 맵리듀스를 뛰어넘어 다양한 분산 애플리케이션을 수용가능

+ Recent posts