복붙노트

[HADOOP] 이름 노드 대 보조 이름 노드

HADOOP

이름 노드 대 보조 이름 노드

Hadoop은 일관성 있고 파티션에 내결함성이 있습니다. 즉, CAP Theoram의 CP 카테고리에 속합니다.

모든 노드가 이름 노드에 종속되어 있으므로 Hadoop을 사용할 수 없습니다. 이름 노드가 떨어지면 클러스터가 다운됩니다.

그러나 HDFS 클러스터에 보조 이름 노드가 있다는 사실을 고려해 볼 때 왜 cant를 사용 가능한 것으로 간주합니다. 이름 노드가 아래로 있으면 2 차 이름 노드를 쓰기에 사용할 수 있습니다.

hadoop을 사용할 수 없게 만드는 이름 노드와 2 차 이름 노드 사이의 주요 차이점은 무엇입니까?

미리 감사드립니다.

해결법

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

    1.namenode는 HDFS 파일 시스템 정보를 fsimage라는 파일에 저장합니다. 파일 시스템 업데이트 (블록 추가 / 제거)는 fsimage 파일을 업데이트하는 것이 아니라 파일에 기록되므로 I / O는 임의의 파일 쓰기가 아닌 스트리밍을 빠르게 추가합니다. 다시 말하면, namenode는 fsimage를 읽고 로그 파일의 모든 변경 사항을 적용하여 파일 시스템 상태를 메모리에 최신 상태로 만듭니다. 이 과정에는 시간이 걸립니다.

    namenode는 HDFS 파일 시스템 정보를 fsimage라는 파일에 저장합니다. 파일 시스템 업데이트 (블록 추가 / 제거)는 fsimage 파일을 업데이트하는 것이 아니라 파일에 기록되므로 I / O는 임의의 파일 쓰기가 아닌 스트리밍을 빠르게 추가합니다. 다시 말하면, namenode는 fsimage를 읽고 로그 파일의 모든 변경 사항을 적용하여 파일 시스템 상태를 메모리에 최신 상태로 만듭니다. 이 과정에는 시간이 걸립니다.

    secondarynamenode 작업은 이름 노드의 2 차 작업이 아니지만 주기적으로 파일 시스템 변경 로그를 읽고이를 fsimage 파일에 적용하여 최신 상태로 만듭니다. 그러면 다음 번에 namenode가 더 빨리 시작됩니다.

    불행히도 2 차 namenode 서비스는 그 이름에도 불구하고 대기 2 차 namenode가 아닙니다. 특히 namenode에 HA를 제공하지 않습니다. 여기에 잘 설명되어 있습니다.

    HDFS에서 NameNode 시작 작업 이해를 참조하십시오.

    최근의 배포판 (현재 Hadoop 2.6)에는 Quorum Journal Manager를 사용하는 NFS (공유 저장소) 및 / 또는 namenode 고 가용성을 사용하는 namenode 고 가용성이 도입되었습니다.

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

    2.특히 Hadoop 2.x에서는 수년간 변화가있었습니다. 이제 네임 노드는 페일 오버 기능을 통해 가용성이 높습니다.

    특히 Hadoop 2.x에서는 수년간 변화가있었습니다. 이제 네임 노드는 페일 오버 기능을 통해 가용성이 높습니다.

    Secondary 네임 노드는 현재 선택 사항이며 & Standby 네임 노드는 장애 조치 프로세스에 사용되었습니다.

    Standby NameNode는 Active NameNode가 만드는 모든 파일 시스템 변경 사항을 최신 상태로 유지합니다.

    HDFS 고 가용성은 NFS 및 쿼럼 저널 관리자의 두 가지 옵션으로 가능하지만 쿼럼 저널 관리자는 기본 옵션입니다.

    Apache 설명서를 살펴보십시오.

    슬라이드 8부터 : http://www.slideshare.net/cloudera/hdfs-futures-world2012-widescreen

    액티브 노드에 의해 네임 스페이스 수정이 수행되면,이 레코드는 대다수의 해당 JN에 변경 기록을 남겨 둡니다. 대기 노드는 JN에서 이러한 편집 내용을 읽고 자체 이름 공간에 적용합니다.

    페일 오버가 발생하면 Standby는 JounalNodes의 편집 내용을 모두 읽은 후에 자신을 활성 상태로 승격시킵니다. 이렇게하면 장애 조치가 발생하기 전에 네임 스페이스 상태가 완전히 동기화됩니다.

    관련 SE 질문에 대한 프로세스의 장애 조치에 대해 살펴보십시오.

    Hadoop Namenode 장애 조치 프로세스는 어떻게 작동합니까?

    Hadoop에 대한 CAP 이론에 대한 귀하의 질문 :

  3. ==============================

    3.이름 노드는 모든 메타 데이터가 fsimage 및 editlog 파일에 주기적으로 저장되는 기본 노드입니다. 그러나 이름 노드가 보조 노드 아래로 온라인 상태 일 때이 노드는 fsimage 및 editlog 파일에 대한 읽기 액세스 권한 만 가지며 쓰기 권한이 없습니다. 모든 2 차 노드 조작은 임시 폴더에 저장됩니다. 이름 노드가 다시 온라인 상태가되면이 임시 폴더가 이름 노드에 복사되고 namenode가 fsimage 및 editlog 파일을 업데이트합니다.

    이름 노드는 모든 메타 데이터가 fsimage 및 editlog 파일에 주기적으로 저장되는 기본 노드입니다. 그러나 이름 노드가 보조 노드 아래로 온라인 상태 일 때이 노드는 fsimage 및 editlog 파일에 대한 읽기 액세스 권한 만 가지며 쓰기 권한이 없습니다. 모든 2 차 노드 조작은 임시 폴더에 저장됩니다. 이름 노드가 다시 온라인 상태가되면이 임시 폴더가 이름 노드에 복사되고 namenode가 fsimage 및 editlog 파일을 업데이트합니다.

  4. ==============================

    4.하나의 NameNode와 하나의 SecondaryNameNode가 아닌 두 개의 NameNodes가있는 HDFS 고 가용성 (HA)에서도 엄격한 CAP 개념에서 가용성이 없습니다. NameNode 구성 요소에만 적용되며 네트워크 파티션이 NameNodes와 클라이언트를 구분하면 클러스터를 효과적으로 사용할 수 없습니다.

    하나의 NameNode와 하나의 SecondaryNameNode가 아닌 두 개의 NameNodes가있는 HDFS 고 가용성 (HA)에서도 엄격한 CAP 개념에서 가용성이 없습니다. NameNode 구성 요소에만 적용되며 네트워크 파티션이 NameNodes와 클라이언트를 구분하면 클러스터를 효과적으로 사용할 수 없습니다.

  5. ==============================

    5.간단한 방법으로 설명하면 이름 노드를 남성 (작업 / 실제)으로, 2 차 이름 노드를 ATM 기계 (저장 / 데이터 저장)로 가정합니다.    따라서 NN이나 남성 만 수행하는 모든 기능이 작동하지만 작동이 중단되거나 실패하면 SNN이 작동하지 않지만 나중에 데이터 나 로그를 복구하는 데 사용할 수 있습니다

    간단한 방법으로 설명하면 이름 노드를 남성 (작업 / 실제)으로, 2 차 이름 노드를 ATM 기계 (저장 / 데이터 저장)로 가정합니다.    따라서 NN이나 남성 만 수행하는 모든 기능이 작동하지만 작동이 중단되거나 실패하면 SNN이 작동하지 않지만 나중에 데이터 나 로그를 복구하는 데 사용할 수 있습니다

  6. ==============================

    6.NameNode가 시작되면 FSImage를로드하고 Edit Edit Logs를 재생하여 최신의 업데이트 된 네임 스페이스를 만듭니다. 이 프로세스는 로그 편집 파일 크기가 크면 시작 시간이 길어지기 때문에 시간이 오래 걸릴 수 있습니다. 보조 이름 노드의 작업은 주기적으로 편집 로그 및 재생을 확인하여 업데이트 된 FSImage를 생성하고 영구 저장 장치에 저장하는 것입니다. Name Node가 시작되면 업데이트 된 FSImage를 만들기 위해 편집 로그를 재생할 필요가 없으며 2 차 이름 노드에 의해 생성 된 FSImage를 사용합니다.

    NameNode가 시작되면 FSImage를로드하고 Edit Edit Logs를 재생하여 최신의 업데이트 된 네임 스페이스를 만듭니다. 이 프로세스는 로그 편집 파일 크기가 크면 시작 시간이 길어지기 때문에 시간이 오래 걸릴 수 있습니다. 보조 이름 노드의 작업은 주기적으로 편집 로그 및 재생을 확인하여 업데이트 된 FSImage를 생성하고 영구 저장 장치에 저장하는 것입니다. Name Node가 시작되면 업데이트 된 FSImage를 만들기 위해 편집 로그를 재생할 필요가 없으며 2 차 이름 노드에 의해 생성 된 FSImage를 사용합니다.

  7. ==============================

    7.namenode는 fsimage와 관련하여 메타 데이터를 포함하고 편집 로그를 포함하는 마스터 노드입니다. 편집 로그에는 최근 추가 / 제거 된 블록 정보가 namenode의 네임 스페이스에 포함됩니다. fsimage 파일은 영구 저장소에 전체 hadoop 시스템의 메타 데이터를 포함합니다. fsimage에서 영구적으로 변경해야 할 때마다 namenode에서 편집 로그 정보를 쓸 수 있도록 namenode를 다시 시작해야하지만 그렇게하려면 많은 시간이 필요합니다.

    namenode는 fsimage와 관련하여 메타 데이터를 포함하고 편집 로그를 포함하는 마스터 노드입니다. 편집 로그에는 최근 추가 / 제거 된 블록 정보가 namenode의 네임 스페이스에 포함됩니다. fsimage 파일은 영구 저장소에 전체 hadoop 시스템의 메타 데이터를 포함합니다. fsimage에서 영구적으로 변경해야 할 때마다 namenode에서 편집 로그 정보를 쓸 수 있도록 namenode를 다시 시작해야하지만 그렇게하려면 많은 시간이 필요합니다.

    보조 namenode는 fsimage를 최신 상태로 만드는 데 사용됩니다. 2 차 이름 노드는 편집 로그에 액세스하여 fsimage에서 영구적으로 변경하므로 다음에 namenode가 더 빨리 시작될 수 있습니다.

    기본적으로 2 차 namenode는 namenode의 도우미이며 namenode에 대한 관리 기능을 수행합니다.

  8. from https://stackoverflow.com/questions/19970461/name-node-vs-secondary-name-node by cc-by-sa and MIT license