HDFS(Hadoop Distributed File System)
- Hadoop 분산 파일 시스템
- Hadoop Distributed File System(HDFS)은 Apache의 가장 크고 핵심적인 구성요소
- 정형데이터, 비정형 데이터, 반정형 데이터 등 다양한 유령의 대규모 데이터를 저장할 수 있음
- 리소스에 대한 추상화 수준 생성. HDFS는 단일 단위
- 노드에 데이터를 저장하고, 저장된 메타 데이터에 대한 로그 파일을 유지
- 분산형 파일 시스템으로 상용 하드웨어 클러스터에서 실행되는 큰 파일을 저장
- 하둡의 기본 스토리지 시스템
- 핵심 구성요소 : NameNode와 DataNode 아키텍처를 사용
![](https://velog.velcdn.com/images/tett_77/post/f7425c09-1991-42d1-96dd-559ea91d03f5/image.png)
HDFS 구조
(이미지출처 - https://dzone.com/articles/hadoop-ecosystem-hadoop-tools-for-crunching-big-da)
1) HDFS의 핵심요소
1-1) NameNode
- 기본 노드. 실제 데이터를 저장하지 않음 (루트가 되는 노드. 최초노드.)
- 로그 파일과 같은 메타데이터와 목록이 포함되어 있음.
- 메모리와 처리비용이 적게 듦.
1-2) DataNode
- 모든 데이터가 저장되는 노드. 분산 환경의 상용하드웨어 (노트북, 데스크탑)
- 많은 스토리지 리소스가 필요.
1-3) Client와 NameNode와 DataNode
- client가 데이터를 쓰기 위해서 먼저 NameNose에 쓰기 작업을 요청
- NameNode는 해당 파일의 위치와 복제를 결정하고, client에게 데이터를 DataNode에 저장하도록 지시
- client와 DataNode 간의 통신이 이루어져 데이터 저장 및 복제가 됨.
참고