일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Python
- gradle
- 문제풀이
- 파이썬
- boj
- codewars
- leetcode
- 자바
- 알고리즘
- 프로그래머스
- Go언어
- 동적프로그래밍
- docker
- 튜토리얼
- scala
- 리눅스
- zookeeper
- 코드워
- dynamic programming
- 스칼라
- 주키퍼
- programmers
- redis
- Java
- DP
- HBase
- golang
- go
- Linux
- OOM
- Today
- Total
파이문
HBase Region 할당 순서 본문
Region-RegionServer 할당 방식
Region 이 어떻게 RegionServer 에 할당 되는걸까?
StartUp (시작 시)
- Master 는
AssignmentManager
를 호출 한다. AssignmentManager
는hbase:meta
의 (이미 있는)region
정보를 살펴 본다.- 만약
region
이 여전히 유효하다면 (예를 들면RegionServer
가 살아있는 상태인 경우) 할당을 한다. - 만약 (할당이) 유효하지 않다면
LoadBalancerFactory
가 region 을 할당 시킨다. 로드 밸런서가 Region 을 RegionServer 에 할 >당 시킨다. hbase:meta
에 RegionServer 의 정보를 업데이트 한다. (필요하다면 RegionServer의 start code 도 저장한다.)
FailOver (실패 시)
- RegionServer 가 다운되었기 때문에 해당 RegionServer 에 있는 region 은 즉시 이용 못하게(unavailable) 된다.
- Master 는 RegionServer 의 fail 상태를 감지할 것이다.
- region 할당이 유효하지 않아, 재 할당 되는데 시작 순서(startup)와 똑같이 진행된다.
- 실행중인 쿼리는 재 시작되고 손실 되진 않는다.
- 다음 시간 내에 새로운 RegionServer 에서 운영 가능해 진다.
ZooKeeper session timeout + split time + assignment/replay time
Region Load Balancing
region 은 주기적으로 LoadBanacer
에 의해 옮겨진다.
Region State Transition
HBase 는 각 region 의 상태를 hbase:meta
에 유지한다.hbase:meta
에 있는 region 상태는 주키퍼에서 유지 한다.(??)
-
OFFLINE
region 이 오프라인 상태이다. (open 되지 않음) -
OPENING
region 이 open 되는 중이다. -
OPEN
region 이 open 되고 RegionServer 가 master 에게 알린다. -
FAILED_OPEN
RegionServer 가 region 을 open 하는데 실패했다. -
CLOSING
region 이 close 되는 중이다. -
CLOSED
RegionServer 가 region 을 close 시키고 master 에게 알린다. -
FAILED_CLOSE
RegionServer 가 region 을 close 시키는데 실패했다. -
SPLITTING
RegionServer가 master 에게 region 이 분리(split) 되는 중인걸 알린다. -
SPLIT
RegionServer 가 master 에게 region split 이 완료되었다고 알린다. -
SPLITTING_NEW
region 이 split 되어 생성되는 중이다. -
MERGING
RegionServer 가 master 에게 region 이 다른 region 와 merge 되었다고 알린다. -
MERGED
RegionServer가 master 에게 region 이 merge 되었음을 알린다. -
MERGING_NEW
region 이 두개의 region 에서 합쳐지는 중이다.
참고
'NoSQL > HBase' 카테고리의 다른 글
HBase META 테이블 (0) | 2020.10.23 |
---|---|
HBase 기본 명령어 (0) | 2020.09.25 |