SW Engineering/Hadoop

HBase와 Zookeeper 상호작용 관계

SungWookKang 2019. 11. 21. 00:54
반응형

HBase Zookeeper 상호작용 관계

 

·       Version : HBASE, Zookeeper

 

Hadoop 에코 시스템으로 HBase Zookeeper 시스템이 있다. HBase NoSQL 분산 데이터베이스 시스템이며, Zookeeper 분산 코디네이터 시스템으로 서버간의 상호 조정이 필요한 다양한 서비스를 제공한다.

HBase 마스터-슬레이브 구조를 가지고 있으며 마스터 역할을 하는 서버를 HMaster, 슬레이브 역할을 하는 서버를 HRegionServer라고 한다. 서버의 특징은 아래와 같이 정리할 있다.

·       HMaster HBase 대한 설정파일들과 HRegionServer 대한 정보만을 가지고 있는 서버이다.

·       HRegionServer HRegion이라 불리는 블록을 가지고 있으며, 데이터 로우에 대한 정보가 저장되어 있다.

·       HRegion 저장할 있는 데이터 사이즈의 한계를 가지고 있으며, 한계치에 도달할 경우 HRegion 두개의 리전으로 분리된다. 이때 변경 사항은 Zookeeper에게 보고된다.

·       클라이언트가 HRegionServer 통해서 데이터를 가져오거나 추가할때 HBase 두개의 카탈로그 테이블(-ROOT-, .META.) 제공한다.

·       -ROOT- 테이블은 모든 .META. 리전에 대한 정보를 가지고 있으며 .META. 테이블은 모든 사용자 테이블 리전에 대한 정보를 가지고 있다. -ROOT- 테이블이 존재하는 리전의 정보는 Zookeeper 저장된다. 매칭되는 .META. 리전은 -ROOT- 테이블로 부터 조회되며, 사용자의 리전은 .META. 테이블로부터 클라이언트에게 제공된다.

·       클라이언트는 -ROOT-, .META. 사용자 리전을 캐싱하며 캐시된 데이터에 연산을 수행한다. HRegion 문제가 발생하면 .META. 한단계 위로 연산을 실행하게 되며 데이터에도 문제가 있을 경우 -ROOT- 테이블에 연산을 요청하게 된다.

 

기본적으로 마스터-슬레이브 유형의 HBase 아키텍처에는 3 가지 유형의 서버가 있다. HBase HMaster, HRegionServer ZooKeeper이다. 리전 서버는 읽기 쓰기 목적으로 데이터를 제공한다. , 클라이언트는 데이터에 액세스하면서 HBase 리전 서버와 직접 통신 있다. 또한 HBase 마스터 프로세스는 영역 할당 DDL (테이블 만들기, 삭제) 작업을 처리한다. 마지막으로 HDFS 일부인 Zookeeper 라이브 클러스터 상태를 유지한다. 또한 리전 서버가 관리하는 데이터는 Hadoop DataNode 추가로 저장된다. 또한 모든 HBase 데이터는 HDFS 파일에 저장된다. 그런 다음 리전서버가 제공하는 데이터의 경우, 지역 서버는 HDFS DataNode 함께 배치되어 데이터 지역성을 사용할 있다. 여기서 데이터 지역성은 데이터를 필요한 곳에 가까이 두는 것을 의미한다.

 

 

 

HBase Zookeeper 상호작용은 아래 순서로 설명할 있다.

1.       Zookeeper 외부 클라이언트의 연결을 제어하며, HRegionServer 대한 정보 tracking -ROOT- 리전에 대한 정보를 관리한다.

2.       클라이언트는 제일 먼저 Zookeeper cluster/ensemble 연결되고 리전 서버들의 위치 정보를 요청한다.

3.       클라이언트로부터 특정 테이블에 대한 쓰기요청이 발생하는 경우 HBase 우선적으로 WAL(Write Ahead Log) 데이터를 저장한다.

4.       Zookeeper  사용 가능한 HRegionServer 찾아서 WAL 저장된 데이터를 memstore 불리는 저장소에 가져온다. 만약 memstore 공간이 가득차게 되면 Zookeeper HFile 불리는 파일에 데이터를 flush하며 HDFS 저장한다.

5.       HRegionServer 장애가 발생하면 Zookeeper HRegion 장애복구 프로세스를 진행하며 Zookeeper Ensemble 프로세스를 HMaster 아닌곳에서 실행한다.

 

 

[참고자료]

https://data-flair.training/blogs/hbase-architecture/

 

 

2019-11-20 / Sungwook Kang / http://sungwookkang.com

 

Hadoop, zookeeper, 하둡, 주키퍼, HBase, 분산 코디네이터, 분산 데이터베이스, 하둡 에코 시스템, Hadoop Echo system

반응형

'SW Engineering > Hadoop' 카테고리의 다른 글

Hive 테이블 생성  (0) 2019.11.27
Hive Architecture  (0) 2019.11.26
NameNode and Secondary NameNode Heap Memory Size 변경  (0) 2019.11.20
Hadoop Name Node  (0) 2019.11.19
HDFS 블록  (0) 2019.11.16