Hadoop HOWTO
|
|
|
gilbird.com wiki
목차 |
Map/Reduce란?
- Map: 초기 변환 단계로서 각각의 입력 레코드는 병렬로 처리
- Reduce: 집성/요약화 단계로서 모든 관련 레코드는 하나의 개체로 처리
- Map/Reduce는 보통 쌍으로 동작하는데 Map만 실행(병렬처리, 요약은 없음)하는 경우도 있다.
MapReduce 실행에 필요한 것들
- job input
- job output
- input format
- output format
- map function
- reduce function
- combine function (optional)
- partitioner (optional)
- map, reduce function과 기타 지원 클래스를 묶은 JAR 파일
MapReduce Job 관리
- TaskTracker : map과 reduce task 실행 관리
- JobTracker : job 제출, job 모니터링과 관리, TaskTracker 노드에 분배할 task 관리
클러스터당 JobTracker하나 한개 이상의 TaskTracker를 가짐.
HDFS (The Hadoop Distributed File System)
HDFS 서비스는 두개의 프로세스로 동작한다.
- NameNode : 파일시스템 메타데이터 관리와 컨트롤 서비스 제공
- DataNode : 블록 저장과 읽기 서비스 제공
tmp 디렉토리 관리
- kill한 작업은 tmp디렉토리를 cleanup하지 않는다.
- 따라서 정기적으로 지워주는 것이 좋다.
TIPS
- Trash 비우기
% hadoop fs -expunge
관련 용어
- shuffle : 맵 출력은 키/값 쌍으로 파티션되는데 이 파티션은 정렬되어 있다. 이 상태를 shuffle이라고 한다.
- spill : 각 정렬 파티션으로 생성한 파일을 spill이라고 한다.
- input split : MapReduce에서 데이터를 처리할 때 입력을 조각낸 것을 input split이라고 한다.