HDFS란? (Hadoop 분산 파일 시스템)
Summary: HDFS(Hadoop Distributed File System)가 무엇인지 설명합니다. 이 문서에서는 HDFS를 사용하는 방법에 대해서도 설명하고 예를 제공합니다.
Instructions
HDFS란 무엇입니까? (Hadoop 분산 파일 시스템)
사실
Hadoop 분산 파일 시스템
답변
HDFS(Hadoop Distributed File System) 정보
Hadoop® 클러스터를 수백 또는 수천 개의 노드로 확장하는 방법을 이해하려면 HDFS(Hadoop Distributed File System)로 시작해야 합니다. Hadoop
클러스터의 데이터는 더 작은 부분(블록이라고 함)으로 세분화되어 클러스터 전체에 분산됩니다. 이렇게 하면 더 큰 데이터 세트의 작은 하위 세트에서 맵 및 감소 기능을 실행할 수 있으며, 이를 통해 빅데이터 처리에 필요한 확장성을 제공합니다.
목표는 무엇입니까?
Hadoop의 목표는 각 서버에 저렴한 내부 디스크 드라이브 세트가 있는 매우 큰 클러스터에서 일반적으로 사용 가능한 서버를 사용하는 것입니다. 더 높은 성능을 위해 MapReduce
는 처리할 데이터가 저장되는 이러한 서버에 워크로드를 할당하려고 시도합니다. 이를 데이터 로컬리티라고 합니다. (이 원칙 때문에 Hadoop 환경에서 SAN(Storage Area Network) 또는 NAS(Network Attached Storage)를 사용하는 것은 권장되지 않습니다. SAN 또는 NAS를 사용하는 Hadoop 구축의 경우 추가 네트워크 통신 오버헤드로 인해 특히 대규모 클러스터에서 성능 병목 현상이 발생할 수 있습니다.) 이제 잠시 시간을 내어 각 시스템에 3개의 내부 디스크 드라이브가 있는 1,000개의 시스템 클러스터를 생각해 보십시오. 3,000개의 저렴한 드라이브 + 1,000개의 저렴한 서버로 구성된 클러스터의 장애율을 고려해 보십시오!
이미 같은 페이지에 있는 것 같습니다. Hadoop 클러스터에서 경험하게 될 MTTF(Component Mean Time to Failure)는 아이용 자켓의 지퍼와 유사할 수 있습니다. 실패할 것입니다(그리고 구문적으로는 지퍼가 필요할 때만 실패하는 것 같습니다). Hadoop의 장점은 저렴한 하드웨어와 관련된 MTTF 비율의 현실을 잘 이해하고 있다는 것입니다(설계 시점). Hadoop의 강점 중 하나는 내결함성 및 장애 보상 기능이 내장되어 있다는 것입니다. HDFS의 경우 데이터가 블록으로 분할되고 이러한 블록의 복제본이 Hadoop 클러스터의 다른 서버에 저장된다는 점에서 동일합니다. 즉, 개별 파일은 실제로 전체 클러스터의 여러 서버에 복제되는 더 작은 블록으로 저장됩니다.
HDFS의 예
미국 내 모든 사용자의 전화 번호가 포함된 파일을 생각해 보십시오. A로 시작하는 성이 있는 사람은 서버 1, 서버 2의 B 등에 저장될 수 있습니다. Hadoop 환경에서는 이 전화 번호부의 일부를 클러스터에 저장하고 전체 전화 번호부를 재구성하려면 클러스터의 모든 서버에서 블록이 필요합니다. 구성 요소에 장애가 발생하면 가용성을 달성하기 위해 HDFS는 이러한 작은 부품을 기본적으로 2개의 추가 서버에 복제합니다. (이러한 이중화는 파일별로 또는 전체 환경에 대해 증가하거나 줄일 수 있습니다. 예를 들어 개발 Hadoop 클러스터에는 일반적으로 데이터 이중화가 필요하지 않습니다.) 이러한 이중화는 여러 이점을 제공하며, 가장 확실한 것은 고가용성입니다.
또한 이러한 이중화를 통해 Hadoop 클러스터는 더 작은 청크로 분할하고 클러스터의 모든 서버에서 이러한 작업을 실행하여 확장성을 높일 수 있습니다. 마지막으로, 대규모 데이터 세트를 사용할 때 중요한 데이터 로컬리티의 이점을 얻을 수 있습니다. 이 장 후반부에 이러한 중요한 이점을 자세히 설명합니다.