본문 바로가기
BigData 기술/Hadoop

[HDFS] 네임노드 구동과정 (Namenode Startup Process)

by 잇서니 2021. 1. 5.
반응형

 

네임노드가 시작되는 과정을 정리하면서 네임노드의 동작들을 더 제대로 이해해보고자 합니다 :) 

 

 

1. fsimage를 디스크에서 읽어 메모리에 로딩한다.

  • fsimage는 dfs.namenode.name.dir 경로에 저장되어 있다.
  • 이 파일을 읽어 메모리에 로딩한다.

 

2. edits log 중에 반영되지 않은 것을 찾아 반영한다. 

  • 아직 체크포인팅 안 된 edits log를 journal노드에서 읽어온다. 체크포인팅이 안 된 edits log에는 파일이름에 inprogress가 붙는다.
  • edits log를 fsimage에 반영한다. (체크포인팅)

 

3. 네임노드의 포트(8020, 50070)가 열린다.

  • 그럼 데이터노드와 네임노드가 통신하며 데이터노드가 등록된다.
  • 데이터노드가 네임노드에게 블록리포트를 보내준다.

 

4. safemode에 진입한다.

  • 블록복제가 일정수준을 만족하는지 확인될 때까지 safemode에 머문다.
  • 이 때 데이터노드가 보내준 블록리포트 정보가 활용된다.
  • 블록복제가 일정수준을 만족하면 자동으로 safemode에서 빠져나온다.

 

5. Startup 프로세스가 완료된다.

  • 이제부터 Hadoop을 사용할 준비가 되었다.
  • 네임노드는 주기적으로(약 1시간) 데이터노드에게 블록리포트를 받아 블록매핑정보(어떤 데이터노드에 어떤 블록이 있는지)를 만들어내서 메모리에 저장해놓는다.
  • 또한 데이터노드가 하트비트를 주기적으로(약 3초) 보낸다. 네임노드는 이에 대한 응답을 보내면서 명령을 같이 보낸다. (블록 복제, 블록 삭제 등)

 

 

참고링크

 

하둡 데몬(namenode, datanode)의 기동과정과 메커니즘 이해

2010년 무렵 하둡을 처음 접한 뒤로 개발자로서의 내 삶은 많은 변화가 있었다. 내 머릿 속에 개념으로만 존재하던 분산 컴퓨팅이 일상의 개발환경이 된 것이 그 첫번째 일 것이다. 하둡과 함께

likebnb.tistory.com

 

반응형

'BigData 기술 > Hadoop' 카테고리의 다른 글

Hadoop 클러스터 구축 과정  (4) 2021.04.01
DataNode failed volumes 원인 및 해결법  (8) 2021.01.07
[HDFS] Block Pool 개념 정리  (8) 2021.01.04
[HDFS] 하둡 Balancer 과정  (1060) 2020.07.20
[HDFS] Rack Awareness 란  (911) 2020.07.15

댓글