-
Hadoop - HDFS 알아보기Data 2024. 3. 25. 03:29
HDFS (하둡 분산 파일 시스템)
분산 파일 시스템이란?
- 물리 디스크에 저장되어있는 파일을 각각의 서버들이 데이터셋을 나눠가져 저장/관리함.
- 그러므로 데이터를 가지고있는 머신들이 네트워크로 연결되어야함.
- 네트워크 문제와 디스크 문제를 모두 가지고있어 관리가 복잡하다.
- 그 중 가장 큰 문제는 분산된 데이터를 가진 노드가 죽었을 때 복구를 하는 것이 가장 난제이다.
HDFS의 설계와 실무 적용시 고려사항
- 고가용성을 가지고있기 때문에 데이터셋 볼륨 자체가 매우 클 때 유용함
- HDFS는 "쓰는 것"보다 "읽는 것"에 더욱 집중을하였음.
읽는 것 중에서도 전체 데이터셋을 읽는 것에 중심을 두었음. - HDFS는 특정 노드가 죽더라도 복구가 가능하도록 구성되어있다.
최종 사용자는 이를 보고 장애에 대한 판별을 할 수 없도록 설계되어있다. - 데이터 셋이 작은 파일들이 많으면 효용성이 떨어진다.
네임노드에 데이터셋이 어느 노드에 저장된지 제어를 하는데, HDFS 클러스터 전체용량은 크지만
네임노드의 메모리가 작어 터지는 경우가 발생할 수 있음. - "읽는 것"에 중점을 두었기 때문에 쓰는 행위를 하는 것은 적용에 알맞지 않은 타입이다.
블록
일반 물리디스크에서 블록이라는 용어를 들어보았을 것이다.
블록 크기라고도 많이하는데 블록 크기란 데이터를 읽고 쓸 수 있는 최대량을 뜻한다.
일반적인 하드디스크에서는 512바이트이나, 하둡에서는 기본적으로 128메가바이트이다.
하둡에서는 1블록에 쓰려는 데이터가 128보다 작더라도(쓰려는 데이터가 1메가 가정) 1블록(128메가바이트) 전체를 차지하지않는다.
즉 1블록 크기에있는 128메가 -> 127메가로 줄어들 뿐이다.분산 파일 시스템을 적용하면서 얻은 이점
- 기존 파일 저장하려는 용량보다 훨씬 커짐. -> 각 머신들끼리 가지고있는 스토리지를 공유하면서 사용하기 때문.
- 메타데이터의 분리 -> 메타데이터를 한 머신에서만 관리함으로인해서 시스템 전체를 1개의 머신으로만 통제가능.
'Data' 카테고리의 다른 글
Hadoop - 읽기 쓰기 Data 흐름 (0) 2024.04.03 Hadoop - Name node, Data node, HDFS 클라이언트 (0) 2024.03.25