IT 삽질기

HBase tools를 이용한 HBase balancing 본문

BigData/HBase

HBase tools를 이용한 HBase balancing

화이팅빌런 2021. 3. 10. 20:00

HBase Tools는 카카오에서 개발한 오픈소스로 HBase관리에 필요한 여러 가지 기능을 제공한다

tech.kakao.com/2016/03/24/opensource-4-hbase-tools/

github.com/kakao/hbase-tools

 

HBase Tools를 이용해 HBase region reblance작업을 진행해보도록 한다

HBase를 사용하다 보면 row key 설계에 따라 특정 region에 데이터가 몰리기도 하고 row key 설계가 잘 되어 있어도 특정 region에 데이터가 몰리는 경우가 발생했는데 이 경우 HBase Tools를 이용해 region을 재분배 작업을 진행했다

 

HBase Tools는 위의 github 링크를 통해 다운받아 사용한다.

여러 가지 기능이 있지만 여기서는 Balance 작업에 대한 내용만 정리한다

HBase Tools의 balance의 명령어를 사용하기 위해서는 zookeeper quorum, 재분배하고자 하는 tablename, 분배 규칙을 기본적으로 지정하며 추가적인 설정이 필요한 경우 -c 옵션을 통해 추가할 수 있다.

Table name에 대해서는 정규표현식도 지원하여 여러 테이블의 region 재분배 작업도 비교적 손쉽게 진행할 수 있다는 장점이 있다

 

balance명령어는 아래와 같이 사용하는데 hbase에 대한 보안정책이 걸려있지 않으면 추가적인 옵션이 필요하다

java -jar hbase-manager.jar balance [zookeeper quorum] [table name] (rule)

hbase에 대한 보안 설정이 되어 있지 않아 zookeeper znode 상에 hbase 디렉토리가 hbase-unsecure로 설정되어 있다면 아래와 같이 -c zookeeper.znode.parent=/hbase-unsecure를 추가하여 사용한다.

java -jar hbase-manager.jar balance [zookeeper quorum] [table name] (rule) -c zookeeper.znode.parent=/hbase-unsecure

 

region이 잘 분배되어 있는지 아닌지는 역시 kakao에서 개발한 hbase region inspector을 사용하여 살펴보는 방법도 있고

github.com/kakao/hbase-region-inspector

 

HBase에서 기본 제공하는 HBase Web UI에서 살펴보는 방법도 있는데 

 

Table Details에서 살펴보고자 하는 Table의 이름을 클릭하여 Table 데이터가 어느 region에 저장되어 있는지 확인할 수 있다

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

HBase Compaction  (0) 2021.06.23
HBase 데이터 쓰기/읽기 과정  (0) 2021.05.15
HBase 튜닝하기  (0) 2021.03.07
HBase 테이블별 용량 확인  (0) 2019.04.27
HBase란 - HBase 용어 정리  (0) 2019.03.20
Comments