HDFS (Hadoop Distributed FileSystem)
- HDFS의 설계 특성
- 매우 큰 파일(수백 기가 또는 페타바이트)의 저장 지원
- 첫 번째 레코드를 읽는 데 걸리는 지연 시간보다 전체 데이터셋을 모두 읽을 때 걸리는 시간이 더 중요
- Block
- HDFS Block은 기본적으로 256MB이며, Block 크기로 쪼갠 것을 Chunk라고 함
- Replication이 용이한 설계를 위해 Block 단위로 저장함
- Block은 무조건 설정된 크기 만큼 파일을 쪼개어 저장함
- Master-Worker Pattern
- Namenode
- 파일시스템의 Namespace(모든 파일과 디렉터리에 대한 메타데이터)를 관리
- Namespace Image, Edit Log
- Block의 위치 정보는 시스템이 시작할 때 모든 Data Node로부터 받아 재구성하기 때문에 영구적으로 저장하지는 않음
- Namenode가 손상된 경우 파일시스템의 어떤 파일도 찾을 수 없음
- Namenode의 장애복구를 위해 Secondary(Sec.) Namenode를 운영함
- 병합 작업 수행을 위해 충분한 CPU 자원이 요구되므로, 별도의 물리 머신에서 실행되는 것이 권장됨
- Datanode
- Client나 Namenode의 요청이 있을때 Block을 저장하고 탐색함
- Block의 목록을 주기적으로 Namenode와 Sec. Namenode에 보고함
- Block Cache: 빈번하게 접근하는 Block 파일을 Datanode 메모리에 캐싱
'Development > Hadoop' 카테고리의 다른 글
하둡 공부 - MapReduce 작동 방법 (0) | 2019.01.24 |
---|---|
하둡 공부 - Hadoop I/O (0) | 2019.01.24 |
하둡 공부 - YARN (0) | 2019.01.24 |
하둡 공부 - Hadoop Read & Write (0) | 2019.01.24 |
Hadoop 2.7.3 Fully-distributed Mode Setup (0) | 2017.02.01 |