Hadoop Architecture

개발/JAVA2013. 3. 6. 00:30
728x90

[출처]http://en.wikipedia.org/wiki/Apache_Hadoop

Hadoop는 크게 HDFS(Hadoop Distributed File System)와 MapReduce로 구분되어집니다.
HDFS layer는 파일 분산 저장 목적을 두고, MapReduece layer는 파일 분석을 위한 목적을 둡니다.

HDFS는 NameNode와 DataNode로 구성되며, NameNode는 master와 secondary로 구성되어집니다. 

NameNode

파일에 대한 저장소 선택, 복제 개수 지정 등 데이터 노드를 관리
Master Node 역할을 하며 파일에 대한 메타 데이터를 저장하는 노드, 디렉토리 구조, 파일에 대한 각종 메타 데이터, 물리적 파일이 저장되어 있는 위치 등을 저장
주요한 메타정보를 가지고 있으므로 네임노드가 장애시에 HDFS는 장애 발생. SPOF

secondary NameNode

NameNode의 fsimage와 editlog를 저장

DataNode

DataNode는 실제 파일을 저장/읽기를 수행. 하나의 파일을 block 단위로 저장하는 역할 
Block단위는 임의로 변경할 수 있으나 디폴튼 64MByte 
DataNode에 저장된 파알은 정책에 따라 자동 분산 저장

MapReduce Layer

Job Tracker(Master)

Master에서 Job Tracker 실행되며, 클라이언트로부터 작업 요청을 받으면 실행
Task Tracker의 작업 할당 및 결과를 통합
Task Tracker의 상태 및 전체 작업 진행 상황 등을 지속적으로 감시

Task Tracker(Slave)

Task Tracker는 Task를 실행할 자바 프로세스를 발생
HDFS에 분산 저장된 데이터를 여러 대의 Task Tracker에서 병렬 처리


MapReduce 참고문서
http://www.linuxforu.com/2011/03/mapreduce-more-power-less-code-hadoop/
http://blog.trifork.com/2009/08/04/introduction-to-hadoop/



728x90

작성자

Posted by 일퍼센트

관련 글

댓글 영역