MapReduce
HDFS에 저장된 파일을 분산 처리하는 프레임워크이다.
맵(Map): 입력 파일을 한 줄 씩 읽어 데이터 변형(개발자가 변형하는 규칙을 정할 수 있음)
리듀스(Reduce): 맵의 결과 데이터를 집계
아키텍쳐
- 클라이언트: (사용자가 만든 맵리듀스 프로그램) + (하둡에서 제공하는 맵리듀스 API)
- 잡트래커
- 하둡 클러스터에 등록된 전체 잡(job)의 스케줄링을 관리/모니터링
- 잡(job): 맵리듀스의 작업단위
- 클라이언트가 새로운 잡을 요청 -> 잡을 처리할 맵/리듀스의 개수 계산
- 맵/리듀스를 실행할 태스크트래커 결정 후 잡을 할당
- 하트비트를 통해 태스크트래커의 상태 체크
- 장애가 발생한 태스크트래커는 중지 후 다른 태스크트래커에 잡 할당 후 태스크 재실행
- 태스크트래커
- 하둡의 데이터노드 서버에 실행되는 데몬
- 데몬: 백그라운드에서 여러 작업을 수행하는 프로그램으로 사용자가 직접 제어하지 않음
- 사용자가 설정한 맵리듀스 프로그램(태스크) 실행
- 잡트래커가 명령을 하면(이러이러한 맵과 리듀스를 몇번 수행해라~) 요청받은 맵과 리듀스 수만큼 맵 태스크와 리듀스 태스크를 생성
- 맵태스크/리듀스태스크: 사용자가 만든 맵과 리듀스 프로그램
댓글
댓글 쓰기