하둡의 구조
하둡은 크게 분산저장과 병렬처리 프레임워크로 나눌수 있다.
분산저장(HDFS)
분산저장은 마스터 슬레이브 구조로 구성되는 네임노드와 데이터노드로 처리 한다. 하나의 네임노드에 다수의 데이터 노드로 구성되고, 각각의 노드는 다음과 같은 역활을 한다.
- 네임노드(Namenode)
- 데이터 노드 관리
- 메타데이터 관리
- 디렉토리, 파일 정보 관리
- 블록과 디렉토리간 매핑 정보 관리
- 파일 시스템의 관리를 위해 fsimage와 edits 를 이용
- 데이타노드
- 데이터 파일을 블록단위로 나누어서 저장
- 체크포인트 노드, 세컨더리 네임노드
- fsimage와 edits를 주기적으로 체크하여 체크포인트를 생성하고 이를 이용하여 파일의 수정사항을 관리
- 체크포인트 노드는 fsimage를 네임노드에 업로드 하고, 세컨더리 네임노드는 업로드 하지 않는다는 차이가 있음
- 네임노드가 죽는다고 세컨더리 네임노드가 기능을 이어가지 않음
병렬처리(MapReduce)
병렬처리는 하둡 v1, 하둡 v2에서 다르게 처리 된다.
하둡 v1
- JobTracker
- 클러스터의 리소스 관리
- TaskTracker 관리
- TaskTracker
- MapReduce 작업을 수행
하둡 v2
YARN 아키텍처가 등장하여 JobTracker의 역활을 ResoureManager, ApplicationMaster에게 나누어줌
- ResourceManager
- 클러스터의 리소스를 관리
- 노드 매니저를 통해 클러스터 전체의 자원 상황을 관리
- NodeManager
- 노드의 리소스를 관리
- ApplicationMaster
- 애플리케이션의 라이프 사이클을 관리
- Container
- MapReduce 작업을 수행
반응형
'빅데이터 강좌' 카테고리의 다른 글
[빅데이터/강좌] 실무자가 알아야 할 하둡 #1.개요 (2) | 2018.05.14 |
---|