하둡의 맵리듀스에 대한 설명은 다음링크를 참조한다.
하둡 맵리듀스 접근법
맵리듀스는 일괄질의처리기이다. 합리적인 시간 내에 결과를 보여주는 능력을 가지고 있음. 질의를 실행한 이후 수초내에 결과를 받는 시스템과는 다름. 하둡은 기존 병렬프로그래밍과 다른 분
blog.voidmainvoid.net
맵리듀스를 운영하는 2가지 방법을 알아본다. 첫번째는 전통적인 하둡의 맵리듀스를 사용하는 방식과 두번째는 YARN을 사용하는 방식이다. 각 방식에 대해 알아보자.
맵리듀스1
Job : 클아이언트가 수행하는 작업 단위. 하둡은 Job을 맵 태스크와 리듀스 태스크로 나우어 실행한다.
Jobtracker : Tasktracker들이 수행할 태스크를 스케쥴링
Tasktracker : 태스크를 수행하고 데이터 처리가 완료되면 Jobtracker에 결과를 보냄. 만약 태스크가 실패하면 Jobtracker가 다른 Tasktracker를 통해 데이터를 처리함. TaskTracker는 hearbeat를 주기적으로 Jobtracker로 전송.
맵리듀스2(YARN)
리소스 매니저 : 클러스터에서 리소스의 사용을 관리, 최적의 데이터 노드 검색. 전체 클러스터의 시스템 자원 관리
노드 매니저 : 컨테이너들을 관리. 맵리듀스의 태스크트래커 기능과 유사. 컨테이너 실행, 라이프사이클 모니터링.
컨테이너 : 하나의 서버에서 여러 컨테이너가 실행될 수 있음. 컨테이너 단위로 애플리케이션을 실행하고 상태를 스케쥴링
애플리케이션 마스터 : 하나의 애플리케이션에 하나의 마스터 할당. 애플리케이션에 필요한 리소스 스케줄링. 컨테이너 내부에서 실행.
맵리듀스가 아닌 YARN을 사용하는 이유?
- 하둡1.0에서는 무조건 하둡기반 맵리듀스API 프로그램만 사용 가능함
- 잡트래커는 SPOF, 잡트래커 메모리 부족시 태스크 실행 이슈
- 리소스 매니저를 통한 자원관리 가능. 얀을 통해 실행되는 애플리케이션은 자원을 배분함.
참고문헌 : 하둡완벽가이드
'빅데이터 > 하둡' 카테고리의 다른 글
Spark 개발시, main/resources 패키지에 hdfs-site.xml, core-site.xml 등을 넣는 이유 (0) | 2024.08.13 |
---|---|
macOS 로컬에서 스파크 실행하기 (0) | 2021.04.21 |
하둡 맵리듀스 접근법 (0) | 2020.11.24 |
HDFS cilent 사용시 HA구성된 node 연결하기 (0) | 2020.03.11 |
pyspark에서 gzip으로 압축되어 있는 파일 읽는 방법 (0) | 2020.02.11 |
pyspark에러 ImportError: No module named XXXX (1) | 2020.02.10 |