본문 바로가기

분노=프로그래밍/Big Data

HAdoop stecondary Node와 Avatar Node의 차이점

Secondary Namenode Document - http://wiki.apache.org/hadoop/FAQ%20 참조

나름대로의 번역

Secondary Namenode는 의미가 다소 잘못 인지되어있다. 이것은 Namenode가 아니며 DatanodeSecondary Namenode에 커넥트 할 수 없다. 이것은 SPOF(Single Point of Failure:단일 실패점장애에 대체할 수 없음을 의미한다.

Secondary Namenode의 목적은 오직 주기적인 CheckPoint의 수행에 있다, Secondary Namenode는 주기적으로 Primary Namenode에서 현재 사용되는 image(fsImage를 의미하는듯)와 파일 변경 내역이 기록된 edits 로그을 다운받아 변경내역을 병합(반영)하여 Primary Namenode에 업로드를 하는데 목적이 있다.

이것은 Datanode의 장애발생시에는 관련이없으며, 단지 Namenode의 장애발생 시 Namenode를 재시작을 필요로 한다.

만일 더이상 old node를 사용할 수 없다면, 어디선가 최신 fsimage 파일을 복사해올 필요가 있다. 최신 fsimage 파일은 실패 이전의 데이터를 가지고 있는 Primary NamenodeSecondary Namenode의 파일을 의미한다. 후자의 경우 마지막 checkpoint 이후의 editLog(변경 내역)에 대한 내용이 반영되지 않았으므로, 가장 최신의 fsimage파일이라도 namespace 정보 변경 내역에 대한 기록이 유실 되어 있을 수 있다. 이 경우에도 cluster를 재시작할 필요가 있다.

 

정리

Secondary Namenode

 - fsImage edlitsPrimary Namenode에서 병합하여 fsImage를 갱신하는 경우 서비스를 할 수 없다는 문제점이 있다Secondary Namenode의 존재 목적은 Primary Namenode 서비스를 유지하면서 edits(Transaction(read, write, delete, modify) 발생으로  변경된 namespace정보를 기록하는 파일) fsImage의 병합을 Secondary Namenode에서 대신 수행함으로써  Primary Namenode fsImage파일의 갱신하기 위함에 있다.

Secondary Namenode는 Namenode라는 이름이 붙어 있지만 Datanode에서 커넥트가 불가능한 노드이며, 이는 Primary Namenode 장애 시 서비스를 대행 할 수 없음을 의미한다. Secondary Namenode 오로지 checkpoint만을 위해 존재한다.

 

Avatar Node(facebook 2011 conference 참조)

Avatar Node(이하 아바타노드) hadoop SPOF(Single point of failure:단일 실패점)를 보완하기 위해 facebook에서 개발한 Namenode Wrapper Class이다

Active 아바타노드(이하 액티브 아바타노드)는 하둡 내 Namenode와 동일하게 동작하며, Standby 아바타노드(이하 스탠바이 아바타노드)는 보조 노드와 동일하게 checkpoint를 수행한다. Datanode들은 트랜잭션 발생으로 변경된 namespace정보를 액티브 아바타노드와 스탠바이 아바타노드 양쪽에 전송한다. 여기서 중요한 점은 액티브 아바타노드의 경우 기존의 Primary Namenode와 같이 edits fsImage로 관리를 하지만, 스탠바이 아바타노드의 경우는 in-memory형태로 가지고 있다. 따라서 액티브 아바타노드에 장애가 발생한 경우 데이터에 대한 네임스페이스를 인메모리형태로 가지고 있던 스탠바이 아바타노드를 통해 바로 서비스 할 수 있다. 그림 중간에 NFS가 위치한 이유는 스탠바이 아바타노드가 네임스페이스 정보를 인 메모리 형태로 가지고 있기 때문에, 스탠바이 아바타노드 문제가 발생하는 경우 최신 네임스페이스 정보에 대한 정보 손실이 발생할 수 있다. 따라서, 액티브와 스탠바이 아바타노드 사이에 NFS를 구성함으로써 액티브 아바타노드의 정보를 안전하게 백업할 수 있다.

 

 -현재 Avatar Node zookeeper(hadoop eco system 내 분산 배치 프레임워크)를 통해 사용할 수 있으며, 자세한 내용은 구글링을 해보기 바란다.(-_-; 저도 여기까진 안뒤져봐서)

- 잘못된 내용이나 덧붙힐 내용 덧글 달아주시면 참고하는데 큰 도움이 됩니다.

- 출처는 꼭 밝혀주시기 바랍니다 ^^;

'분노=프로그래밍 > Big Data' 카테고리의 다른 글

BigData 세미나 준비자료  (0) 2012.12.07