본문 바로가기
빅데이터 분석기사,ADsP와 ADP

HDFS(Hadoop Distributed File System)

by 귀주대 2023. 12. 5.

 


HDFS(Hadoop Distributed File System)는 Apache Hadoop 프로젝트의 일부로 개발된 분산 파일 시스템으로, 대용량 데이터를 저장하고 처리하는 데 사용됩니다. HDFS는 대규모 데이터를 여러 머신에 분산하여 저장하고, 안정성과 확장성을 제공하여 대용량 데이터를 효율적으로 관리할 수 있도록 설계되었습니다.

HDFS의 주요 특징


1. 분산 저장: 파일을 블록(Block) 단위로 나누어 여러 노드에 분산하여 저장합니다. 기본 블록 크기는 일반적으로 128MB 또는 256MB로 설정되며, 파일은 이러한 블록으로 나뉘어 저장됩니다.

2. 높은 내고장성: 데이터의 안정성을 위해 블록은 여러 노드에 복제됩니다. 기본적으로 각 블록은 3개의 복제본으로 저장되며, 복제본은 서로 다른 머신에 저장됩니다. 이를 통해 하나의 노드에 장애가 발생하더라도 데이터 손실을 방지할 수 있습니다.

3. 높은 확장성: 새로운 서버를 클러스터에 추가하여 저장 용량을 쉽게 확장할 수 있습니다. HDFS는 대규모 클러스터에서도 잘 확장되어 수천 대의 서버로 구성된 환경에서도 동작할 수 있습니다.

4. 단순한 파일 시스템 모델: HDFS는 간단한 파일 시스템 모델을 제공하여 파일을 읽고 쓰는 데 간편한 인터페이스를 제공합니다.

 


HDFS의 구성 요소


1. 네임노드(NameNode): HDFS의 메타데이터를 관리하는 중앙 제어 서버입니다. 파일 시스템의 네임스페이스와 파일-블록 매핑 정보를 유지하며, 클라이언트의 파일 접근 요청을 처리합니다.

2. 데이터노드(DataNode): 실제 데이터 블록을 저장하는 데 사용되는 노드입니다. 데이터 블록을 읽고 쓰며, 네임노드와 통신하여 블록 보고와 복제를 수행합니다.

3. 보조 네임노드(Secondary NameNode): 네임노드의 로그와 체크포인트를 관리하여 네임노드의 부하를 줄이고 데이터 손실을 방지합니다. 정기적으로 네임노드의 메타데이터를 백업합니다.

4. 클라이언트(Client): 파일을 읽고 쓰는 등의 작업을 수행하는 사용자 또는 응용 프로그램을 나타냅니다. 클라이언트는 네임노드에 파일 접근을 요청하고 데이터노드에서 데이터를 읽거나 씁니다.

HDFS는 대용량 데이터 처리 및 분석을 위한 핵심 구성 요소로서 사용되며, 빅데이터 처리와 관련된 여러 Apache Hadoop 생태계의 다른 도구들과 함께 사용됩니다. 안정성, 확장성, 고용량 데이터 처리 등의 특성으로 인해 많은 기업과 조직에서 데이터 저장 및 처리를 위해 HDFS를 활용하고 있습니다.

 

댓글