이름설명
Name node : 하둡 분산파일시스템에 대한 Master 역할 (데이터의 메타데이터 저장)
Job Tracker : 어플리케이션 관리에 대한 Master 역할
Datanode : 하둡 분산파일시스템에 대한 Slave역할 (실제 데이터 저장)
Task tracker : 어플리케이션 관리에 대한 Slave역할. 일을 실제로 하는 역할
일반적으로 DN + TT를 하나의 묶음으로 띄운다
Replica와 Datanode
하둡에서는 파일을 128mb로 쪼개서 Datanode로 저장한다.
이때, 안정성을 위해서 Replica(복사본) 을 가지는데, 원본과 Replica를 합쳐서 3개를 전체서버에 저장한다.
Datanode의 노드상태 Namenode에 알리기 위해 주기적으로 Heartbeat를 보내는 방식을 사용한다.
만약 Namenode에 Heartbeat가 오지 않는다면, 자동적으로 Datanode가 죽은것으로 판단한다.
Datanode 가 죽었을때
안정성을 위해서 원본과 Replica를 합쳐서 총 3개의 데이터를 저장해야한다.
데이터가 존재하던 Datanode로 부터 오던 Heartbeat가 끊기면, 해당 노드와 연결이 끊겼다고 판단. 데이터 유실이 되었다고 판단하여 장애복구를 시작한다
Datanode가 죽었으니 Namenode는 메타데이터를 확인한다.
죽은Datanode에 있는 데이터를 다른 Datanode가 카피하게 시킨다.
하둡에서 데이터 유실이 일어날 수 있는 케이스
3개의 데이터노드(원본1+Replica2)가 모두 동시에 유실된경우
Masternode가 고장났을때
Namenode로부터 Heartbeat가 오지않는것을 Namenode장애라고 판단했었다.
반면 전체서버가 다 끊겼다고 판단하는것을 Masternode가 죽은것이라고 판단한다
하둡1.0에서는 Masternode가 끊기는것에 대한 대응이 안된다
하둡2.0에서는 마스터서버의 이중화를 도입해서 대응했다.
하둡3.0에서는 이레이져코딩이라는 기술을 도입해서 2배의 비율로 구성한다고 본다.
'DATA Engineering > Hadoop' 카테고리의 다른 글
MapReduce 튜닝하기 (0) | 2022.11.01 |
---|---|
WordCount예제로 보는 Map & Reduce (1) | 2022.11.01 |
Secondarynamenode(SNN), fsimage, HDFS Balancer (0) | 2022.11.01 |
하둡에서 블록 용량 디폴트가 128MB인 이유 (0) | 2022.11.01 |