EXCELSIOR

하둡2 - 네임노드 HA 본문

DataBase/Hadoop

하둡2 - 네임노드 HA

Excelsior-JH 2016. 11. 7. 19:42

1. 하둡1 - 네임노드의 문제점

1) 네임노드가 정상적으로 동작하지 않을 경우 모든 클라이언트가 HDFS에 접근할 수 없다.


2) 네임노드의 파일 시스템 이미지에 문제가 생길 경우에도 HDFS에 저장된 데이터를 조회할 수 없다. 파일 시스템 이미지에 HDFS의 디렉터리 구조와 파일 위치가 모두 보관돼 있어서 이정보가 유실될 경우 블록에 접근하기 위한 통로가 없어지기 때문이다.


3) 네미노드의 에디트로그에 문제가 생길경우에도 데이터가 유실될 확률이 높다. 네임노드는 HDFS에 대한 데이터 갱신 내역을 에디트로그에 저장하고, 파일 시스템 이미지를 메모리에서 관리한다. 그리고 보조네임노드는 체크포인팅 작업을 통해 에디트로그를 파일 시스템 이미지에 갱신한다. 



2. 하둡2 - 네임노드 HA

1) 저널노드

HDFS에 저장된 파일을 수정할 경우 에디트로그가 발생한다. 기존 하둡1은 네임노드만 에디트 로그를 저장하고 있었지만 하둡2에서는 에디트로그를 여러 서버에 복제해서 저장한다. 이를 위해 하둡은 저널노드(JournalNode)라는 새로운 컴포넌트를 제공하며, 별도의 데몬으로 실행된다. 

저널노드는 반드시 3개 이상 실행돼야 하며(별도의 3대의 서버에서 각각 저널노드를 실행해야 함), 홀수 단위로만 실행할 수 있다.


2) 주키퍼

주키퍼는 하둡 에코시스템 중 하나로 애플리케이션들이 잘 동작하도록 중재하는 역할을 한다. 주키퍼는 네이밍 서비스, 분산 동기화, 메시지 큐, 알림 시스템과 같은 기능을 제공한다. 


3) ZKFC(ZooKeeperFailoverController)

① 로컬 네임노드의 상태를 모니터링한다.


② 주키퍼 세션관리, 네임노드 상태가 정상일 경우 주키퍼 마스터에 대한 세션을 유지하며 액티브 네임노드에서 실행되는 ZKFC는 Znode에 락을 걸어준다.


③ 자동 장애 처리(failover)기능

 

'DataBase > Hadoop' 카테고리의 다른 글

하둡2 예제실행  (0) 2016.11.11
하둡2 설치 및 실행 (가상 분산 모드)  (4) 2016.11.08
하둡2 - 얀(YARN)  (0) 2016.11.04
매퍼(Mapper) 와 리듀서(Reducer) 클래스  (0) 2016.10.14
MapReduce 개념  (0) 2016.10.13
Comments