HBase Master工作机制
Master上线
Master启动进行以下步骤:
从zookeeper上获取唯一一个代表active master的锁,用来阻止其它master成为master
一般hbase集群中总是有一个master在提供服务,还有一个以上的‘master’在等待时机抢占它的位置。
扫描zookeeper上的server父节点,获得当前可用的region server列表
和每个region server通信,获得当前已分配的region和region server的对应关系
扫描.META.region的集合,计算得到当前还未分配的region,将他们放入待分配region列表
Master下线
- 由于master只维护表和region的元数据,而不参与表数据IO的过程,master下线仅导致所有元数据的修改被冻结
无法创建删除表
无法修改表的schema
无法进行region的负载均衡
无法处理region 上下线
无法进行region的合并
唯一例外的是region的split可以正常进行,因为只有region server参与
表的数据读写还可以正常进行
-
因此master下线短时间内对整个hbase集群没有影响。
-
从上线过程可以看到,master保存的信息全是可以冗余信息(都可以从系统其它地方收集到或者计算出来)