개인적으로 Hadoop을 공부하며, 구조에 대해 깊숙하게 파악하기 이전에, 용어 정리를 먼저 하려고 한다.
Distribute File System
- 분산 저장 시스템
Hadoop
- 데이터를 저장하는데 있어서 스키마의 제약을 받지 않는다.
- 데이터가 로드되기 전까지 스키마를 노출할 필요가 없다.
HDFS
- 기본 블럭 크기는 128MB
- 블럭크기로 독립적인 단위로 저장
- 만약 1MB를 저장하는 블록이라면, 128MB를 다 쓰는 것이 아닌, 1MB 크기의 블록을 가진다.
- 블록 크기가 작게 설정되면, Name Node에 대해 너무 많은 작업을 생성하는, 많은 분할이 발생한다.
- sign Integer (32bit) overflow 때문에 2GB 이상의 크기는 주의해야한다.
- replication factor를 3개를 기본으로 권장한다. (가용성)
NameNode
- 파일시스템의 전체 디렉토리 구조에 대한 스냅샷을 유지한다.
- 클러스터에서 위치를 추적한다
- HDFS내 모든 파일에 대한 블록과 위치를 리스트
- 이하, Master라 부르며 Hadoop Cluster의 SPOF(single point of failure)이다.
DataNode
- HDFS의 Data를 저장
- 만약 DataNode가 죽으면, Master가 해당 Data를 다른 Datanode로 복제한다
- 이하, Slave라 부른다.
YARN
- 클러스터 리소스를 요청하고, 작업을 위한 API를 제공한다.
- 사용자 코드에서는 직접적으로 사용하지 않는다.
Resource Manager
- Cluster의 어플리케이션 작업 예약 및 리소스 모니터링을 담당한다.
Node Manager
- 컨테이너와 해당 리소스 사용량을 시작 및 모니터링 (리소스 풀을 관리한다)
- Resource Manager에게 보고한다.
Edit log & Journal Node
- NameNode가 실패하면 FSImage File system Meta Data 스냅샷 이미지가 생긴다. (특정 시점)
- 전체 실행관련 로그는 Edit log에서 확인 가능.
- 참고: https://jjaesang.github.io/yarn/2016/12/22/yarn_ch1.html
MapReduce
- 분산데이터 처리 알고리즘
Spark와 MapReduce의 차이?
- hadoop의 MR은 영구 저장소를 활용한다.
- Spark는 인메모리 형태의 메모리 RDD를 사용한다.
반응형
'Tech > Hadoop' 카테고리의 다른 글
[Hadoop]하둡 완벽가이드 요약 (4) (0) | 2022.03.06 |
---|---|
[Hadoop]하둡 완벽가이드 요약 (3) (0) | 2022.03.05 |
[Hadoop]하둡 완벽가이드 요약 (2) (0) | 2022.03.03 |
[Hadoop]하둡 완벽가이드 요약 (1) (0) | 2022.03.03 |
[Hadoop]hadoop (2) (0) | 2022.02.27 |