티스토리 뷰

BigData/hadoop

Hadoop 개념 및 구조

Sh.TK 2017. 6. 24. 17:16

우선 기본적인 하둡의 개념에 대해 아주 간략히 정리해보고자 한다.

 

하둡

소개: 빅데이터 에코시스템들의 대부분은 하둡을 위해 존재하고 하둡에 의존하여 발전하고 있다.

기능:

1.        대용랑 데이터를 분산 저장

2.        분산 저장된 데이터를 분석

공식 홈페이지: http://hadoop.apache.org

주요 구성 요소:

1.        DataNode: 블록(64MB or 128MB) 단위로 분할된 대용량 파일들이 DataNode의 디스크에 저장 및 관리

2.        NameNode: DataNode에 저장된 파일들의 메타 정보를 메모리상에서 로드 관리

3.        EditsLog: 파일들의 변경(수정, 삭제 등) 이력 정보가 저장된 로그 파일

4.        FsImage: NameNode의 메모리상에 올리와 있는 메타 정보를 스냅샵 이미지로 만들어 생성한 파일

5.        Ver2.x:

A.        Active/Stand-By NameNode: NameNode를 이중화, 서비스 중인 Active와 실패 처리를 대비한 Standby NameNode로 구성

B.        MapReduce / Yarn: 하둡 클러스터 내의 자원을 중앙 관리, 다양한 애플리케이션이 실행 및 관리 가능하도록 확장성과 호환을 높인 하둡 2.x 플랫폼

C.        ResourceManager: 하둡 클러스터 내의 자원을 중앙 관리, 스케쥴링 정책에 따라 자원 분배 실행 모니터링

D.        NodeManager: 하둡 클러스터의 DataNode마다 실행, Container를 실행 시키고 라이프 사이클을 관리

E.         Container: DataNode의 사용 가능한 리소스(Cpu, 메모리, 디스크 등)Container 단위로 할당 구성

F.         ApplicationMaster: 애플리케이션이 실행되면 ApplicationMaster 실행, NodeManager에게 애플리케이션 실행할 Container 요청, 그 위에서 애플리케이션 실행 및 관리

G.        JournalNode: 3개 이상의  노드로 구성, EditsLog를 각 노드에 복제 관리, Active NameNodeEditsLog에 쓰기만 수행, Standby NameNode는 읽기만 실행

6.        Ver1.x:

A.        SecondaryNameNode: NameNodeFsImageEditsLog 파일을 주기적으로 관리

B.        MapReduce: DataNode에 분산 저장된 파일이 스플릿되어 다양한 연산 수행, 그 결과를 다시 병합하는 분산 프로그래밍 기법

C.        JobTracker: 맵리듀스 잡 실행, 태스크에 할당, 전체 잡에 대해 리소스 분배 및 스케쥴링

D.        TaskTracker: JobTracker가 요청한 맵리듀스 프로그램이 실행되는 테스크, 이때 맵 태스크와 리듀스 태스크가 생성

댓글
공지사항
최근에 올라온 글
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함