본문 바로가기

빅데이터/하둡

하둡 맵리듀스 동작방법

728x90

하둡의 맵리듀스에 대한 설명은 다음링크를 참조한다.

voidmainvoid.tistory.com/399

 

하둡 맵리듀스 접근법

맵리듀스는 일괄질의처리기이다. 합리적인 시간 내에 결과를 보여주는 능력을 가지고 있음. 질의를 실행한 이후 수초내에 결과를 받는 시스템과는 다름. 하둡은 기존 병렬프로그래밍과 다른 분

blog.voidmainvoid.net

맵리듀스를 운영하는 2가지 방법을 알아본다. 첫번째는 전통적인 하둡의 맵리듀스를 사용하는 방식과 두번째는 YARN을 사용하는 방식이다. 각 방식에 대해 알아보자. 

 

맵리듀스1

Job : 클아이언트가 수행하는 작업 단위. 하둡은 Job을 맵 태스크와 리듀스 태스크로 나우어 실행한다.
Jobtracker : Tasktracker들이 수행할 태스크를 스케쥴링
Tasktracker : 태스크를 수행하고 데이터 처리가 완료되면 Jobtracker에 결과를 보냄. 만약 태스크가 실패하면 Jobtracker가 다른 Tasktracker를 통해 데이터를 처리함. TaskTracker는 hearbeat를 주기적으로 Jobtracker로 전송.

맵리듀스2(YARN)

리소스 매니저 : 클러스터에서 리소스의 사용을 관리, 최적의 데이터 노드 검색. 전체 클러스터의 시스템 자원 관리
노드 매니저 : 컨테이너들을 관리. 맵리듀스의 태스크트래커 기능과 유사. 컨테이너 실행, 라이프사이클 모니터링.
컨테이너 : 하나의 서버에서 여러 컨테이너가 실행될 수 있음. 컨테이너 단위로 애플리케이션을 실행하고 상태를 스케쥴링
애플리케이션 마스터 : 하나의 애플리케이션에 하나의 마스터 할당. 애플리케이션에 필요한 리소스 스케줄링. 컨테이너 내부에서 실행.

 

맵리듀스가 아닌 YARN을 사용하는 이유?
- 하둡1.0에서는 무조건 하둡기반 맵리듀스API 프로그램만 사용 가능함
- 잡트래커는 SPOF, 잡트래커 메모리 부족시 태스크 실행 이슈
- 리소스 매니저를 통한 자원관리 가능. 얀을 통해 실행되는 애플리케이션은 자원을 배분함.

 

 

참고문헌 : 하둡완벽가이드

 

728x90