Hadoop 2.0 클러스터 아키텍처 연합 개요



Apache Hadoop 2.x는 Hadoop 1.x에 비해 크게 향상되었습니다. 이 블로그에서는 Hadoop 2.0 Cluster Architecture Federation 및 해당 구성 요소에 대해 설명합니다.

Hadoop 2.0 클러스터 아키텍처 연합

소개:

이 블로그에서는 Hadoop 2.0 Cluster Architecture Federation에 대해 자세히 알아볼 것입니다. Apache Hadoop은 Apache Hadoop 1.x가 출시 된 이후로 많이 발전했습니다. 내 이전 블로그에서 알다시피 NameNode가 마스터 데몬 역할을하고 DataNode라는 다른 슬레이브 노드를 관리하는 마스터 / 슬레이브 토폴로지를 따릅니다. 이 생태계에서이 단일 마스터 데몬 또는 네임 노드는 병목이되고 반대로 기업은 가용성이 높은 네임 노드가 필요합니다. 바로 이것이 HDFS 연합 아키텍처의 기초가되었고 HA (고 가용성) 아키텍처 .

이 블로그에서 다룬 주제는 다음과 같습니다.





  • 현재 HDFS 아키텍처
  • 현재 HDFS 아키텍처의 한계
  • HDFS 연합 아키텍처

현재 HDFS 아키텍처 개요 :

단일 네임 스페이스 HDFS 아키텍처-Hadoop 2.0 클러스터 아키텍처 연합 개요-Edureka

위 그림에서 볼 수 있듯이 현재 HDFS에는 두 개의 레이어가 있습니다.



  • HDFS 네임 스페이스 (NS) : 이 계층은 디렉토리, 파일 및 블록을 관리합니다. 파일 또는 파일 디렉토리의 생성, 삭제 또는 수정과 같은 네임 스페이스와 관련된 모든 파일 시스템 작업을 제공합니다.
  • 스토리지 계층 : 두 가지 기본 구성 요소로 구성됩니다.
    1. 블록 관리 : 다음 작업을 수행합니다.
      • 주기적으로 DataNode의 하트 비트를 확인하고 클러스터에 대한 DataNode 멤버십을 관리합니다.
      • 블록 보고서를 관리하고 블록 위치를 유지합니다.
      • 블록 위치의 생성, 수정, 삭제 및 할당과 같은 블록 작업을 지원합니다.
      • 클러스터 전체에서 일관된 복제 요소를 유지합니다.

2. 물리적 스토리지 : 데이터 저장을 담당하는 DataNode에 의해 관리되므로 HDFS에 저장된 데이터에 대한 읽기 / 쓰기 액세스를 제공합니다.

따라서 현재 HDFS 아키텍처에서는 클러스터에 대해 단일 네임 스페이스를 가질 수 있습니다. 이 아키텍처에서는 단일 NameNode가 네임 스페이스 관리를 담당합니다. 이 아키텍처는 매우 편리하고 구현하기 쉽습니다. 또한 소규모 프로덕션 클러스터의 요구 사항을 충족 할 수있는 충분한 기능을 제공합니다.

현재 HDFS의 한계 :

앞서 논의했듯이 현재 HDFS는 소규모 프로덕션 클러스터의 요구 사항과 사용 사례에 충분했습니다. 그러나 Yahoo, Facebook과 같은 대기업은 HDFS 클러스터가 기하 급수적으로 성장함에 따라 몇 가지 한계를 발견했습니다. 몇 가지 제한 사항을 간략히 살펴 보겠습니다.



  1. 네임 스페이스는 확장 불가능 DataNodes와 같습니다. 따라서 단일 NameNode가 처리 할 수있는 클러스터의 DataNode 수만큼만 가질 수 있습니다.
  2. 두 계층, 즉 네임 스페이스 계층과 스토리지 계층은 단단히 결합 이는 NameNode의 대체 구현을 매우 어렵게 만듭니다.
  3. 전체 Hadoop 시스템의 성능은 처리량 NameNode의. 따라서 모든 HDFS 작업의 전체 성능은 NameNode가 특정 시간에 처리 할 수있는 작업 수에 따라 달라집니다.
  4. NameNode는 빠른 액세스를 위해 전체 네임 스페이스를 RAM에 저장합니다. 이로 인해 메모리 크기 즉, 단일 네임 스페이스 서버가 처리 할 수있는 네임 스페이스 개체 (파일 및 블록)의 수입니다.
  5. HDFS를 배포 한 많은 조직 (공급 업체)에서는 여러 조직 (테넌트)이 클러스터 네임 스페이스를 사용할 수 있습니다. 따라서 네임 스페이스의 분리가 없으므로 격리 없음 클러스터를 사용하는 테넌트 조직 사이.

HDFS 연합 아키텍처 :

  • HDFS Federation Architecture에서 우리는 이름 서비스의 수평 확장 성을 가지고 있습니다. 따라서 우리는 연합 된, 즉 서로 독립적 인 여러 NameNode를 가지고 있습니다.
  • DataNode는 하단 즉, 기본 스토리지 계층에 있습니다.
  • 각 DataNode는 클러스터의 모든 NameNode에 등록됩니다.
  • DataNode는주기적인 하트 비트를 전송하고 보고서를 차단하고 NameNode의 명령을 처리합니다.

HDFS 연합 아키텍처의 그림 표현은 다음과 같습니다.

계속 진행하기 전에 위의 건축 이미지에 대해 간략하게 설명하겠습니다.

  • 여러 네임 스페이스 (NS1, NS2,…, NSn)가 있으며 각 네임 스페이스는 해당 네임 노드에서 관리합니다.
  • 각 네임 스페이스에는 자체 블록 풀이 있습니다 (NS1에는 풀 1, NSk에는 풀 k 등).
  • 이미지에서 볼 수 있듯이 풀 1 (하늘색)의 블록은 DataNode 1, DataNode 2 등에 저장됩니다. 마찬가지로 각 블록 풀의 모든 블록은 모든 DataNode에 상주합니다.

이제 HDFS 연합 아키텍처의 구성 요소를 자세히 이해하겠습니다.

블록 풀 :

블록 풀은 특정 네임 스페이스에 속하는 블록 집합 일뿐입니다. 따라서 각 블록 풀이 서로 독립적으로 관리되는 블록 풀 모음이 있습니다. 각 블록 풀이 독립적으로 관리되는 이러한 독립성을 통해 네임 스페이스는 다른 네임 스페이스와의 조정없이 새 블록에 대한 블록 ID를 생성 할 수 있습니다. 모든 블록 풀에있는 데이터 블록은 모든 데이터 노드에 저장됩니다. 기본적으로 블록 풀은 데이터 노드 (단일 네임 스페이스 아키텍처에서와 같이)에 상주하는 데이터 블록이 특정 네임 스페이스에 따라 그룹화 될 수 있도록 추상화를 제공합니다.

반복자 자바 사용 방법

네임 스페이스 볼륨 :

네임 스페이스 볼륨은 블록 풀과 함께 네임 스페이스 일뿐입니다. 따라서 HDFS 연합에는 여러 네임 스페이스 볼륨이 있습니다. 이는 독립적 인 관리 단위입니다. 즉, 각 네임 스페이스 볼륨은 독립적으로 작동 할 수 있습니다. NameNode 또는 네임 스페이스가 삭제되면 DataNode에 상주하는 해당 블록 풀도 삭제됩니다.

Hadoop 2.0 클러스터 아키텍처 연합에 대한 데모 | Edureka

이제 HDFS 연합 아키텍처에 대해 꽤 좋은 생각이 있으신 것 같습니다. 그것은 이론적 인 개념에 가깝고 사람들은 일반적으로 실제 생산 시스템에서 그것을 사용하지 않습니다. HDFS 연합에는 배포를 어렵게하는 몇 가지 구현 문제가 있습니다. 따라서 HA (고 가용성) 아키텍처 Single Point of Failure 문제를 해결하는 것이 좋습니다. 나는 덮었다 HDFS HA ​​아키텍처 내 다음 블로그에서.

Hadoop HDFS 페더레이션 아키텍처를 이해 했으므로 이제 전 세계에 걸쳐 250,000 명 이상의 만족 한 학습자 네트워크를 보유한 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 작성했습니다. Edureka BigData Hadoop 인증 교육 과정은 학습자가 소매, 소셜 미디어, 항공, 관광, 금융 도메인에서 실시간 사용 사례를 사용하여 HDFS, Yarn, MapReduce, Pig, Hive, HBase, Oozie, Flume 및 Sqoop의 전문가가 될 수 있도록 도와줍니다.

질문이 있으십니까? 의견란에 언급 해 주시면 연락 드리겠습니다.