IT 삽질기

Hadoop2 NameNode HA QJM(Quorum Journal Manager) 본문

BigData/Hadoop

Hadoop2 NameNode HA QJM(Quorum Journal Manager)

화이팅빌런 2021. 4. 8. 23:49

Hadoop2 NameNode(NN)에서 제공하는 HA기능에 대해서 알아보도록 하자

Hadoop NN을 HA로 구성하는 방법은 2가지로 QJM(Quorum Journal Manager)방식과 NFS를 이용하는 방식이 있는데 여기서는 QJM 방식에 대해서 설명한다

 

HA(High Availability)란 고가용성을 의미하는 말로 서버와 네트워크 등을 오랜시간 정상적으로 운영이 가능한 성질을 말한다 자세한 내용은 아래의 내용에서 확인하기 바란다

ko.wikipedia.org/wiki/%EA%B3%A0%EA%B0%80%EC%9A%A9%EC%84%B1

 

Hadoop에서 NN은 매우 중요한 역할을 하고 장애가 발생하는 경우 Hadoop 시스템이 정상적으로 동작하지 않기 때문에 NN을 HA로 구성하여 많이 사용한다

 

QJM으로 설정하기 위해서는 아래와 같은 요구사항이 필요하다

- 2대의 NN (active/standby)

- 홀수 개의 JournalNode(1,3,5,7, ... )

- ZKFC(Zookeeper Failover Controller)

 

2대의 NN(active/standby)

NN은 active/standby 형식으로 한대의 NN이 active로 동작하면 나머지 NN은 standby로 동작하며 대기하고 있다가 active에 장애가 발생하면 active로 전환되게 된다

 

홀수 개의 JournalNode(3,5,7, ... )

JournalNode의 역할은 HDFS상에 존재하는 파일들에 변경점이 생기는 경우 이를 NN간 공유시켜주는 역할을 하는데 이를 통해 NN이 전환되는 과정에서도 중단되지 않고 바로 정상적으로 동작이 가능하다

JournalNode를 홀수개로 유지하는 이유는 JournalNode가 실행될 때 최대 (N-1)/2의 장애까지 허용하는 것 때문인데 3개 이상의 홀수 개로 유지해서 JournalNode 한대에 장애가 발생하는 경우에도 Hadoop HA 기능이 정상적으로 동작하게 하기 위함이다

 

ZKFC(Zookeeper Failover Controller)

ZKFC는 위에서 2대의 NN이 동작할 때 active에 장애가 발생하는 경우 standby가 active로 전환되어 동작한다고 했는데 이를 인지하고 처리하는 역할을 하는게 ZKFC이다. ZKFC는 지속적으로 NN의 상태를 모니터링하고 장애가 발생하는 경우 active NN을 종료시키고 standby NN을 active로 전환하는 작업을 한다.

ZKFC에 대한 자세한 내용은 이후 추가적으로 포스팅을 진행할 예정이다

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

Hadoop namenode.FSEditLog Error  (2) 2021.04.11
Hadoop ZKFC(Zookeeper Failover Controller)  (0) 2021.04.10
Hive 테이블 복사하기  (0) 2021.04.07
HDP 3.1.4 Hive LLAP error(UnicodeDecodeError)  (0) 2021.04.05
HDP(Ambari) Node Groups  (0) 2021.03.22
Comments