SW Engineering/Hadoop

HDFS 고가용성 (High Availability) 개념

SungWookKang 2019. 12. 5. 00:50
반응형

HDFS 고가용성 (High Availability) 개념

 

·       Version : HDFS

 

HDFS(Hadoop File System)에서 SPOF(Single Point of Failure) 네임노드이다. 네임노드가 손상되거나 중지되면 모든 작업이 중지되고 파일을 읽거나 쓸수 없게 된다. 하둡 2.0 부터는 SPOF 보완하기 위해 네임노드 이중화를 도입하였으며, 액티브(Active) / 스탠바이(Standby) 동작한다.  스탠바이 네임노드는 액티브네임노드로 부터 블록 리포트와 하트비트롤 모두 받아서 메타데이터를 유지하고 공유 스토리지를 이용하여 에디트 파일을 공유한다. 액티브 네임노드가 문제가 발생하면 스탠바이 네임노드가 액티브로 동작하게 되는데, 장애를 감지하기 위해 주피커를 이용하며 장애 발생시 자동으로 변경할 있도록 구성되어 있다. HA 구성에는 QJM(Quorum Journal Manager) 방식과 NFS(Network File System) 방식이 있다.

 

[ QJM (Quorum Journal Manager) ]

QJM 저널 노드 그룹에서 동작하며 에디트 로그는 전체 너널 노드에 동시에 쓰여진다. 일반적으로 저널 노드는 3개로 구성하며 하나에 장애가 발생해도 서비스에는 영향을 받지 않는다. 저널 노드의 경우 시스템은 최대 (N-1) / 2 오류를 허용하고 계속 작동 있다. 따라서 3 개의 저널 노드에 대해 시스템은 {{3-1) / 2} 하나의 실패를 허용 있다. QJM 주피커를 사용하지 않고도 구현이 되지만, HDFS에서 액티브 네임노드를 선출하기 위해 주피커를 사용한다. 스탠바이 네임노드를 활성화시키는 전환 작업은 Failover Controller라는 객체가 관리한다.

 

 

 

[ NFS (Network File System) ]

네트워크 공유스토리지를 활용하는 방법으로 에디트로그를 공유스토리지에 공유하고 펜싱을 히용하여 한개의 네임노드만 에디트로그를 기록하게 한다. 공유스토리지의 단점은 공유 스토리지 장애가 발생하면 서비스에 문제가 발생할 있다. 일반적으로 공유 스토리지를 사용할 경우 공유 스토리지 자체가 이중화 되어 있는 경우가 많다.

 

 

 

[참고자료]

·       HDFS High Availability Using the Quorum Journal Manager : https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html

·       HDFS High Availability  : https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithNFS.html

·       NameNode High Availability in Hadoop HDFS  : https://data-flair.training/blogs/hadoop-hdfs-namenode-high-availability/

 

 

2019-12-04 / Sungwook Kang / http://sungwookkang.com

 

Hadoop, HDFS 고가용성, 주키퍼, HDFS HA, Zookeeper

반응형