HDFS 개요
분산 파일 시스템
HDFS는 하둡에서 제공하는 분산 파일 시스템이다. 분산 파일 시스템은 기존의 한 대의 컴퓨터 내에 하나의 파일 시스템이 있던 것과 달리, 여러 대의 컴퓨터(노드)에 하나의 파일 시스템이 존재하는 것처럼 설계한 것이다. 각 노드에는 OS가 제공하는 범용 파일 시스템이 존재하고 HDFS는 범용 파일 시스템 위에서 동작한다.
HDFS의 특징
- 대용량 데이터를 범용 서버만으로 처리할 수 있다.
- 현재까지는 하나의 서버에 여러 대의 디스크를 RAID로 구성하여 사용하였다.
- 여러 개의 디스크를 제어하기 위해서는 높은 성능의 서버가 필요했고, I/O시간이 오래 걸릴 수밖에 없었다.
- 하둡은 범용 서버(x86)만으로 대용량 데이터를 처리할 수 있게 해준다.
- 용량 확장성이 있다.
- 하둡에서 용량을 확장하기 위해서는 Data Node(하둡에서 Data 저장 역할을 하는 서버) 1개를 더 추가하면 된다.
- 순차적 접근으로 높은 처리량을 실현할 수 있다
- OS가 제공하는 범용 파일 시스템에서의 파일 블록 크기는 보통 4kb~8kb 정도이다. 하지만 하둡에서는 파일 블록 크기를 60MB 이상으로 설정하므로써 파일 하나를 읽기 위해서 실린더가 회전해야 하는 횟수를 줄여 I/O 시간을 줄일 수 있게 하였다.
- DataNode의 일부가 고장나도 데이터 손실을 방지할 수 있다.
- Replication 기능을 사용하여 하나의 데이터가 복수 개의 노드에 저장되어 있다.