복붙노트

[HADOOP] 이름 노드는 무엇을 저장합니까?

HADOOP

이름 노드는 무엇을 저장합니까?

해결법

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

    1.매핑을 차단할 파일, 데이터 노드의 블록 위치, 활성 데이터 노드, 다른 메타 데이터의 묶음은 모두 NameNode의 메모리에 저장됩니다. NameNode 상태 웹 사이트를 확인하면 거의 모든 정보가 어딘가에 메모리에 저장됩니다.

    매핑을 차단할 파일, 데이터 노드의 블록 위치, 활성 데이터 노드, 다른 메타 데이터의 묶음은 모두 NameNode의 메모리에 저장됩니다. NameNode 상태 웹 사이트를 확인하면 거의 모든 정보가 어딘가에 메모리에 저장됩니다.

    디스크에 저장된 유일한 것은 fsimage, 편집 로그 및 상태 로그입니다. NameNode가 시작할 때를 제외하고는 NameNode가 실제로이 파일을 디스크에서 사용하지 않는다는 점이 흥미 롭습니다. fsimage와 edits 파일은 NameNode를 멈추거나 충돌시킬 필요가있는 경우 NameNode를 다시 올릴 수 있도록 존재합니다.

    파일을 HDFS에 넣으면 블록 (구성 가능한 크기)으로 분할됩니다. "file.txt"라는 파일이 201MB이고 블록 크기가 64MB라고 가정 해 봅시다. 세 개의 64MB 블록과 9MB 블록 (64 + 64 + 64 + 9 = 201)으로 끝납니다. NameNode는 HDFS의 "file.txt"가이 네 개의 블록에 매핑된다는 사실을 추적합니다. DataNode는 파일이 아닌 블록을 저장하므로 매핑은 데이터의 위치와 데이터의 이해에 중요합니다.

    NameNode의 메모리에 대한 최근 체크 포인트는 fsimage에 저장됩니다. 해당 체크 포인트의 NameNode 상태 (즉, 파일 -> 블록 매핑, 파일 속성 등)를이 파일에서 복원 할 수 있습니다.

    편집 파일은 마지막 체크 포인트 이후 fsimage의 모든 새 업데이트입니다. 이것들은 삭제되거나 추가되는 파일과 같은 것들입니다. fsimage에 저장된 마지막 체크 포인트 이후에 가장 최근의 변경 사항이 있기 때문에 NameNode가 다운되면 중요합니다. NameNode가 나타나는 방식은 fsimage를 메모리로 구체화 한 다음 편집 파일에서 수정 된 내용을 순서대로 적용하는 것입니다.

    fsimage와 편집은 HDFS 작업이 완료 될 때마다 잠재적으로 방대한 fsimage 파일을 편집하는 것이 시스템에서 어려울 수 있기 때문에 가능합니다. 대신 편집 파일은에 추가됩니다. 그러나 NameNode가 시작되고 데이터 저장을 위해 fsimage로 편집 내용을 롤백하는 것이 좋은 방법입니다.

    SecondaryNameNode는 주기적으로 fsimage 및 편집 파일을 가져와 함께 병합하여 새로운 검사 점 fsimage 파일로 만드는 프로세스입니다. 편집 내용이 커지지 않도록 중요한 프로세스입니다.

  2. from https://stackoverflow.com/questions/20695025/name-node-stores-what by cc-by-sa and MIT license