HDFS(Hadoop 분산 파일 시스템)란 무엇입니까? 아키텍처, 기능 및 운영

게시 됨: 2020-02-03

Hadoop 분산 파일 시스템 또는 HDFS는 Hadoop의 기본 스토리지 시스템입니다. 상용 하드웨어에서 실행되는 대용량 데이터 파일을 저장합니다. 이 스토리지 시스템은 확장 가능하고 쉽게 확장할 수 있으며 내결함성이 있습니다.

하나의 물리적 시스템에 너무 많은 데이터가 저장되어 있으면 데이터 손실을 방지하기 위해 스토리지가 여러 시스템에 분할됩니다. HDFS는 많은 물리적 시스템에서 스토리지 작업을 관리하는 분산 파일 스토리지 시스템 중 하나입니다. 이 시스템이 어떻게 작동하는지 더 잘 이해할 수 있는 HDFS 튜토리얼이 있습니다. 아키텍처부터 시작하겠습니다.

목차

HDFS 아키텍처

Hadoop 분산 파일 시스템에는 다음 구성 요소가 있는 마스터-슬레이브 아키텍처가 있습니다.

  1. 네임노드 : 네임노드 소프트웨어와 Linux/GNU OS를 모두 보유하는 상용 하드웨어입니다. Namenode 소프트웨어는 어떠한 문제도 일으키지 않고 상용 하드웨어에서 원활하게 실행할 수 있습니다. 네임노드를 구성요소로 하는 시스템은 마스터 서버로 작동합니다. 클라이언트가 파일에 액세스하는 방법을 제어하고, 파일 시스템 네임스페이스를 관리하고, 디렉터리와 파일의 열기, 닫기, 이름 바꾸기를 비롯한 작업 실행을 포함하는 작업을 수행합니다.
  2. Datanode : 데이터 노드 소프트웨어와 Linux/GNU OS를 포함하는 상용 하드웨어입니다. 클러스터의 노드에는 항상 연결된 데이터 노드가 있습니다. 이 노드는 상용 하드웨어/시스템의 스토리지 관리를 담당합니다. 데이터 노드가 수행하는 작업에는 클라이언트 요청에 따른 읽기/쓰기 작업과 네임노드의 지시에 따른 블록 생성, 복제 및 삭제가 포함됩니다.
  3. 차단 : 전체 사용자 데이터가 HDFS 파일에 저장됩니다. 특정 파일 시스템에 속하는 모든 파일은 하나 또는 둘 이상의 세그먼트로 분할되고 저장되는 세그먼트는 데이터 노드입니다. 파일이 분할되는 파일 세그먼트는 블록입니다. 따라서 HDFS가 읽거나 쓸 수 있는 가장 작은 데이터는 블록입니다. 처음에 모든 블록의 크기는 64MB입니다. 그러나 이 크기는 HDFS 구성 변경에 따라 증가할 수 있습니다.

HDFS 아키텍처는 HDFS 작업에 대한 명확하고 명확한 그림을 제공합니다. 여러 데이터 노드로 구성되지만 하나의 이름 노드만 있습니다. 두 가지 노드 유형의 실제 작업자가 데이터 노드인 동안 메타데이터는 네임노드에 저장됩니다. 노드는 내결함성과 데이터 안정성을 향상시키기 위해 데이터 블록이 저장되는 서로 다른 랙에 구성됩니다. 클라이언트는 파일을 읽고 쓰기 위해 네임노드와 상호작용해야 합니다. 클러스터에는 사용 가능한 데이터를 저장하기 위해 로컬 디스크를 사용하는 여러 데이터 노드가 있습니다. 데이터노드와 네임노드는 영구적으로 연결되어 있습니다. Datanode는 또한 복제 기능을 사용하여 다른 데이터 노드에 데이터를 복제하는 역할을 합니다.

HDFS의 읽기 및 쓰기 작업은 가장 작은 수준, 즉 블록 수준에서 발생합니다. 데이터 복제의 개념은 HDFS 작동 방식의 핵심입니다. 즉, 전체 클러스터에 블록의 복제본을 만들고 배포함으로써 노드 장애 중에 데이터의 고가용성이 보장됩니다.

HDFS 작업

HDFS와 Linux 파일 시스템은 서로 상당히 유사합니다. 따라서 HDFS를 사용하면 로컬 파일 시스템에서 수행하는 데 익숙한 모든 작업을 수행할 수 있습니다. 디렉터를 만들고, 권한을 변경하고, 파일을 복사하는 등 훨씬 더 많은 작업을 수행할 수 있습니다. 또한 읽기, 쓰기 및 실행을 포함한 여러 파일 액세스 권한이 있습니다.

HDFS에서 읽기 작업: HDFS에 저장된 파일을 읽으려면 namenode와 상호 작용해야 합니다. 이미 언급했듯이 모든 메타데이터는 네임노드에 저장됩니다. namenode와 상호 작용하면 찾고 있는 파일이 저장된 데이터 노드의 주소를 알려줍니다. 그런 다음 namenode에서 지정한 주소의 데이터 노드와 상호 작용한 다음 거기에서 정보를 읽을 수 있습니다.

네임노드가 블록 주소를 공유하도록 요청하는 파일 시스템의 API와 상호 작용합니다. 이 정보를 제공하기 전에 namenode는 이 데이터에 액세스할 수 있는 권한이 있는지 여부를 확인하기 위해 검사를 실행합니다. 이 확인이 완료되면 namenode는 블록 위치를 공유하거나 제한으로 인해 액세스를 거부합니다.

파일에 액세스하기 위해 해당 데이터 노드에 표시해야 하는 이름 노드에 의해 토큰 형식이 제공됩니다. 이것은 HDFS가 올바른 사람이 데이터에 액세스하고 있는지 확인하기 위해 사용하는 보안 메커니즘의 한 형태입니다. 데이터 노드를 사용하면 토큰을 표시한 후에만 파일을 읽을 수 있습니다.

쓰기 작업: 쓰기 작업은 동일한 초기 패턴을 따릅니다. 데이터를 쓸 수 있도록 네임노드를 요청해야 합니다. 그 대가로 쓰기 작업을 수행해야 하는 데이터 노드의 위치를 ​​제공합니다. 이 작업을 완료하는 즉시 데이터 노드는 다른 데이터 노드에 기록된 데이터 블록을 복제하기 시작합니다. 복제가 완료되면 승인을 받게 됩니다. 쓰기 작업의 인증 메커니즘은 읽기 작업과 동일합니다.

HDFS 기능

  1. 가용성 : HDFS의 고가용성과 함께 제공되는 파일 시스템은 많지 않습니다. 파일 시스템은 클러스터 전체의 데이터 노드(슬레이브)에서 블록 복제본 형태로 데이터를 복제하는 메커니즘을 따릅니다. 이 데이터에 액세스하려면 찾고 있는 정보 블록이 포함된 데이터 노드와 상호 작용해야 합니다.
  2. 신뢰성 : Hadoop Distributed File System은 신뢰성이 높은 데이터 저장 시스템입니다. HDFS에 저장할 수 있는 데이터의 양은 페타바이트 단위입니다. 클러스터를 사용하여 블록을 형성하도록 분리된 모든 데이터를 저장합니다. 그런 다음 클러스터의 노드를 사용하여 이러한 블록을 저장합니다.
  3. 내결함성 : 이 기능은 일반적으로 도움이 되지 않는 조건에서 HDFS의 작동 강도입니다. HDFS는 다른 파일 시스템과 달리 오류를 허용합니다. 미래에도 예측할 수 없는 영향으로부터 데이터를 보호합니다. 이미 언급했듯이 데이터 복제는 다른 시스템에서 수행됩니다. 이러한 기계 중 하나가 작동을 멈추면 어떻게 됩니까? HDFS가 아닌 다른 시스템에서는 심각한 문제일 수 있습니다. HDFS를 사용하면 찾고 있는 데이터 블록의 복사본도 있는 다른 컴퓨터에서 데이터에 액세스할 수 있습니다. 이것을 진정한 내결함성이라고 합니다.
  4. 확장성 : HDFS는 클러스터의 다른 노드를 사용하여 데이터를 저장합니다. 스토리지 요구 사항이 증가하면 언제든지 클러스터를 확장할 수 있습니다. 이것은 HDFS에 고유한 또 다른 기능입니다. 파일 배포 시스템은 클러스터를 확장하는 두 가지 메커니즘인 수평 및 수직 확장성을 제공합니다.
  5. 복제 : 복제는 HDFS를 다른 스토리지 시스템과 차별화하는 기능입니다. 복제는 노드 충돌, 하드웨어 오류 등과 같은 바람직하지 않은 이벤트로 인한 데이터 손실 인스턴스를 최소화합니다. 복제 프로세스는 정기적으로 다른 시스템에서 수행됩니다. 따라서 기계가 다운되더라도 데이터 손실이 없습니다. 다른 기계를 사용하여 데이터를 얻을 수 있습니다.

HDFS 목표

  1. 방대한 데이터 세트 관리: 다른 파일 배포 시스템과 달리 HDFS는 방대한 데이터 세트가 포함된 애플리케이션을 관리하는 데 필요한 아키텍처를 갖추고 있습니다. 해당 데이터 세트의 방대함에 따라 모든 클러스터에 대해 수백 개의 노드가 있을 수 있습니다.
  2. 결함 감지 및 복구: 결함 감지 및 적절한 처리와 관련된 기능에서 HDFS를 능가하는 제품은 많지 않습니다. 문제의 많은 상용 하드웨어로 인해 HDFS는 구성 요소의 빈번한 오류에 노출됩니다. 그러나 이것은 단점이 아닙니다. 그러한 상용 하드웨어를 다루는 모든 시스템은 실패할 가능성이 있습니다. 그러나 시스템이 이러한 장애를 신속하고 자동으로 감지하고 동시에 복구를 제공하는 데 능숙한지 여부는 여전히 문제입니다. HDFS는 확실히 가능합니다.
  3. 처리량 증가: HDFS는 실제 계산이 데이터 자체 근처에서 수행되기 때문에 모든 작업을 효율적으로 처리합니다. 이것은 거대한 데이터 세트를 다룰 때 특히 매우 중요합니다. 이 메커니즘은 처리량을 증가시키고 네트워크 트래픽 문제를 크게 제거합니다.

결론적으로 HDFS는 하드웨어 장애의 영향을 느끼지 않고 안정적인 방식으로 막대한 양의 데이터를 저장할 수 있다고 말하고 싶습니다. 또한 높은 내결함성, 고가용성 및 확장성이 뛰어납니다.

Hadoop의 깊이를 여행하고 전문가가 되기 위해 upGrad & BITS Pilani의 빅 데이터 및 분석 PG 인증을 확인하십시오. 업계 전문가, 헌신적인 멘토, BITS Pilani Alumni Status 등과의 일대일 실무 경험을 얻으십시오.

빅 데이터에 대해 더 알고 싶다면 PG 디플로마 빅 데이터 소프트웨어 개발 전문화 프로그램을 확인하세요. 이 프로그램은 실무 전문가를 위해 설계되었으며 7개 이상의 사례 연구 및 프로젝트를 제공하고 14개 프로그래밍 언어 및 도구, 실용적인 실습을 다룹니다. 워크샵, 400시간 이상의 엄격한 학습 및 최고의 기업과의 취업 지원.

세계 최고의 대학에서 온라인으로 소프트웨어 개발 과정배우십시오 . 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.

미래의 기술 마스터 - 빅 데이터

400시간 이상의 학습. 14개 언어 및 도구. IIIT-B 동문 현황.
IIT Bangalore의 빅 데이터 고급 인증 프로그램