용어설명
NameNode : HDFS 파일 시스템의 핵심입니다. 파일 시스템의 모든 파일에 대한 디렉토리 트리를 유지하고 클러스터에서 파일 데이터가 보관되는 위치를 추적합니다. 이 파일 자체의 데이터는 저장하지 않습니다.
DataNode : [HadoopFileSystem]에 데이터를 저장합니다. 적어도 두 개 이상의 DataNode를 가져야 하며 그들 사이에서 복제가 이루어 집니다. 시작 시 DataNode는 NameNode에 연결됩니다. NameNode가 데이터 위치를 제공하면 클라이언트 애플리케이션은 직접 DataNode와 접근 할 수 있습니다. DataNode 인스턴스는 서로 데이터를 복제 할 때 상호 작용할 수 있습니다.
JournalNode : edits 정보(즉, 파일 시스템의 journaling 정보)를 저장하고 공유하는 기능을 수행하는 서버
DFSZKFailoverController(ZKFC) : NameNode를 모니터링 하고 있다가 active NameNode가 죽으면 standbyNameNode를 active로 전환시키고 죽은 active NameNode를 클러스터에서 제거하고 주키퍼 정보를 갱신한다.
fsimage : 현재의 파일 구조 자체에 대한 메타데이터 정보(스냅샷)
edit log : fsimage snapshot 이후로 발생된 변경 사항 로그
hdfs(without HA)
NameNode(active) : HDFS metadata 메모리 유지/edis log 기록, client 요청 처리, 분산 파일 처리, startup시 fsimage 로드
Secondary NameNode : fsImage에 checkpointing 실행(edits log 최신을 fsimage에 반영), client 대응 안함, HA 지원 안함
DataNode : 데이터 저장소(YARN NodeManager와 같이 설치)
hdfs(with HA)
NameNode(active) : HDFS metadata 메모리 유지/edis log 기록, client 요청 처리, 분산 파일 처리, startup시 fsimage 로드
NameNode(standby) : HA 지원(take over), HDFS metadata 메모리 유지/edits log 기록, client 요청 처리, 분산 파일 처리
DataNode : 데이터 저장소(YARN NodeManager와 같이 설치)
JournalNode : fsimage 파일 checkpointing 실행(edits log 최신을 fsimage에 반영)
Failover Process(without HA)
Active NameNode 는 메모리에 파일시스템에 대한 metadata 유지(위치는 DataNode가 유지)
변경이 발생하면 Active NameNode에서 메모리와 NameNode의 Edits Log에 변경사항을 기록
Secondary NameNode는 주기적으로 Edits Log를 수집하여 새로운 fsimage 파일에 최신으로 동기화(Checkpointing)
동기화된 최신 fsimage를 Active NameNode로 보내 기존 fsimage를 변경하고 Edits Log는 삭제(clear)
Active NameNode 재기동시 fsimage를 메모리로 읽어들여 metadata 구성
DataNode에서는 재기동된 Active NameNode에 파티션의 위치 정보를 보고하여 등록
Failover Process(with HA)
NameNode(Active/StandBy)s 는 메모리에 파일시스템에 대한 metadata 유지(위치는 DataNode가 유지)
변경이 발생하면 NameNode(Active)에서 메모리에 쓰고 JournalNode에 쓰기를 요청(다중 복제)
JournalNode에서는 Edits Log에 변경사항을 기록(다중 복제)
Standby NameNode는 Edits Log에 대한 읽기 권한만 가짐(쓰기 권한 없음)
Secondary NameNode는 주기적으로 Edits Log를 새로운 fsimage 파일에 최신으로 동기화(Checkpointing)
동기화된 최신 fsimage로 기존 fsimage를 변경하고 Edits Log는 삭제(clear)
NameNode 재기동시 fsimage를 메모리로 읽어들여 metadata 구성
DataNode에서는 재기동된 NameNode에 파티션의 위치 정보를 보고하여 등록
コメント