복붙노트

[HADOOP] 고 가용성을위한 Hadoop 2.0 이름 노드, 보조 노드 및 검사 점 노드

HADOOP

고 가용성을위한 Hadoop 2.0 이름 노드, 보조 노드 및 검사 점 노드

Apache Hadoop 문서를 읽은 후 보조 노드 및 검사 점 노드의 책임을 이해하는 데 약간의 혼란이 있습니다.

네임 노드의 역할과 책임에 대해 명확합니다.

하지만 Secondary namenode와 Checkpoint namenode 책임을 이해하는 데 약간의 혼란이 있습니다.

보조 NameNode :

체크 포인트 노드 :

Secondary namenode와 Checkpoint 노드 사이의 책임은 명확하지 않은 것 같습니다. 둘 다 편집 작업을하고 있습니다. 그렇다면 누가 최종적으로 수정할 것인가?

다른 말로, 나는 이러한 개념을 이해하는데 모호함을 제거하기 위해 jira에 두 개의 버그를 만들었다.

issues.apache.org/jira/browse/HDFS-8913 
issues.apache.org/jira/browse/HDFS-8914 

해결법

  1. ==============================

    1.NameNode (기본)

    NameNode (기본)

    NameNode는 HDFS의 메타 데이터를 저장합니다. HDFS의 상태는 fsimage라는 파일에 저장되며 메타 데이터의 기본입니다. 런타임 중 수정 사항은 편집이라는 로그 파일에 작성됩니다. NameNode의 다음 시동시 상태가 fsimage에서 읽히고 편집 내용의 변경 사항이 적용되고 새로운 상태가 fsimage에 다시 기록됩니다. 이 편집이 지워지고 이제는 새로운 로그 항목에 대한 준비가 완료됩니다.

    검사 점 노드

    체크 포인트 노드는 NameNode의 단점을 해결하기 위해 도입되었습니다. 변경 사항은 편집시 작성되며 런타임 중에 fsimage로 병합되지 않습니다. NameNode가 잠시 동안 실행되는 경우 메타 데이터의 마지막 상태를 결정하기 위해 더 많은 변경 사항을 상태에 적용해야하므로 편집 작업이 크게 늘어나고 다음 시작 작업이 훨씬 오래 걸립니다.

    Checkpoint Node는 주기적으로 fsimage를 가져 와서 NameNode에서 편집하고 병합합니다. 결과 상태를 체크 포인트라고합니다. 그런 다음 결과를 NameNode에 업로드합니다.

    "Secondary Node"라고하는 유사 유형의 노드도 있지만 "NameNode에 업로드"기능은 없습니다. 따라서 NameNode는 Secondary NameNode에서 상태를 가져와야합니다. NameNode가 실패 할 경우 Secondary NameNode가 요청을한다는 것을 나타내는 이름이 있기 때문에 혼란 스러웠습니다.

    백업 노드

    백업 노드는 검사 점 노드와 동일한 기능을 제공하지만 NameNode와 동기화됩니다. 파일 시스템 편집의 스테 무를 받기 때문에 주기적으로 변경 사항을 가져올 필요가 없습니다. NameNode에서. 그것은 메모리에있는 현재 상태를 보유하고 새로운 체크 포인트를 생성하기 위해 이것을 이미지 파일에 저장하기 만하면됩니다.

  2. ==============================

    2.NameNode- 마스터 노드라고도합니다. 네임 노드는 메타 데이터, 즉 블록의 수, 위치, 복제본 및 기타 세부 사항을 저장한다. 이 메타 데이터는 데이터 검색을 빠르게하기 위해 마스터의 메모리에서 사용할 수 있습니다. NameNode는 슬레이브 노드를 유지 관리하고 태스크를 할당합니다. 그것은 HDFS의 중심이기 때문에 신뢰할 수있는 하드웨어에 배치해야합니다. 네임 노드는 다음과 같은 두 개의 파일을 사용하여 네임 스페이스를 보유합니다.

    NameNode- 마스터 노드라고도합니다. 네임 노드는 메타 데이터, 즉 블록의 수, 위치, 복제본 및 기타 세부 사항을 저장한다. 이 메타 데이터는 데이터 검색을 빠르게하기 위해 마스터의 메모리에서 사용할 수 있습니다. NameNode는 슬레이브 노드를 유지 관리하고 태스크를 할당합니다. 그것은 HDFS의 중심이기 때문에 신뢰할 수있는 하드웨어에 배치해야합니다. 네임 노드는 다음과 같은 두 개의 파일을 사용하여 네임 스페이스를 보유합니다.

    FsImage : FsImage는 "이미지 파일"입니다. 그것은 전체 파일 시스템 네임 스페이스를 포함하고 namenode의 로컬 파일 시스템에 파일로 저장됩니다.

    EditLogs : 가장 최근의 FsImage에 대한 파일 시스템의 모든 최근 수정 사항을 포함합니다.

    검사 점 노드 - 검사 점 노드는 네임 스페이스의 검사 점을 주기적으로 만드는 노드입니다. Hadoop의 검사 점 노드는 먼저 fsimage를 다운로드하고 활성 네임 노드에서 편집합니다. 그런 다음 로컬로 (FsImage 및 편집) 병합하고 마지막으로 새 이미지를 활성 NameNode로 다시 업로드합니다. 검사 점 노드는 최신 검사 점을 디렉토리에 저장합니다. 네임 노드의 디렉토리와 같은 구조로되어 있습니다. 체크 포인트 된 이미지를 네임 노드가 읽을 수있게합니다.

    백업 노드 - 백업 노드는 검사 점 노드와 동일한 검사 점 기능을 제공합니다. Hadoop에서 백업 노드는 활성 네임 노드 상태와 항상 동기화되는 파일 시스템 네임 스페이스의 메모리 내 최신 복사본을 유지합니다. 백업 노드는 Checkpoint 노드 또는 Secondary Namenode에서 필요로하는 것처럼 fsimage를 다운로드 할 필요가 없으며 네임 스페이스 상태의 최신 상태를 이미 갖고 있으므로 Checkpoint를 만들기 위해 활성 NameNode에서 파일을 편집합니다. 메모리에. 백업 노드 검사 점 프로세스는 이름 공간을 로컬 fsimage 파일에 저장하고 편집을 재설정하기 만하면되므로보다 효율적입니다. 한 번에 하나의 Backup 노드가 NameNode에서 지원됩니다. 백업 노드가 사용중인 경우 검사 점 노드를 등록 할 수 없습니다.

  3. from https://stackoverflow.com/questions/32051346/hadoop-2-0-name-node-secondary-node-and-checkpoint-node-for-high-availability by cc-by-sa and MIT license