반응형
네임노드는 Local File System에 파일 시스템 메타 데이터를 저장을 함.
저장하는 메타 데이터 중 가장 중요한 두가지
- fsimage ( Hadoop File System 메타데이터의 완전한 Snapshot )
- edits ( 메타데이터의 누적된 변경 내용 )
Edits 파일은 WAL(Write Ahead Log)로 지속적인 파일을 추가 조작을 하므로 I/O 작업의 부하가 적고, 성능을 낮추는 탐색 동작도 줄일 수 있음.
네임 노드가 재시작 하게되면, fsimage 파일을 메모리에 로드하고 edits 파일의 변경 내용을 반영하므로 파일 시스템의 최근 이미지를 메모리에서 볼 수 있음.
Secondary Name Node의 필요 이유.
- 시간이 지날 수록 edits파일은 로그기반 시스템 처럼 점점 늘어나고 서버 장애 시간도 그만큼 늘어난다.
- RDBMS 처럼 edits 파일은 fsimage 파일에 주기적으로 반영됨.
- 그런데, 네임노드는 클러스터의 요청을 처리하느라 가용 자원(CPU, RAM)이 없을 수 있음.
Secondary Name Node의 역할
- NameNode에게 edits 파일을 보관하고, edits.new 파일에 로그를 쓰라고 명령함.
- NameNode의 fsimage와 edits 파일을 로컬 체크포인트 디렉터리에 복사함.
- fsimage를 로드하고 edits를 위에서부터 반영하여 새로운 파일을 만든 후 fsimage를 디스크에 저장함.
- fsimage를 네임노드에 보내고 , 그것을 바로 적용하도록 명령함.
- NameNode은 edits.new 파일의 이름을 edits로 변경함.
반응형
'Hadoop' 카테고리의 다른 글
NameNode Federation (0) | 2022.06.02 |
---|---|
Name Node의 고가용성(High Availability) (0) | 2022.05.31 |
HDFS의 파일 시스템 특징 (0) | 2022.05.15 |
Parquet 파일이란 (0) | 2022.05.11 |
JDBC와 ODBC 정리 (0) | 2022.05.11 |