<aside> 💡 이번 섹션에서는 Hadoop의 핵심인 HDFS에 대해 알아보고 실습한다. 이후에는 MapReduce를 다뤄보고 프로그램을 작성해볼 예정이다.

</aside>

HDFS: Hadoop Distributed File System

하둡은 큰 파일을 다룬다

빅데이터를 전체 클러스터에 분산해 안정적으로 저장하여 애플리케이션이 그 데이터를 신속하게 액세스해서 분석할 수 있게 해줌

대용량 파일을 작은 조각 파일로 나누어 클러스터 전체에 걸쳐 분산시키는 역할을 한다.

작은 조각 파일을 ‘데이터 블록’이라고 하는데, default로 128MB의 크기로 구성함.

이렇게 대용량 파일을 작은(?) 블록들로 나누어서, 하드 디스크 하나의 용량에 제한받지 않을 수 있음.

나눠진 작은 데이터 블록들은 HDFS에 의해 여러 서버에 널리 분산 됨.

그리고 각 블록은 두 개 이상의 복사본으로 복제되어 또 저장됨. 이 방식을 통해서 단일 노드가 다운되더라도, 블록이 소실되지 않을 수 있음.

네임노드와 데이터노드

네임노드

데이터노드

읽기와 쓰기

읽기 작업

  1. Client → Namenode : 내가 원하는 데이터는 어디 있니?
  2. Namenode → Client : 여기 블록에 있어