1)master上线
1.从Zookeeper上获取唯一一个代表active master的锁,用来阻止其它HMaster称为master
2.扫描Zookeeper上的server父节点,获得当前可用的HRegion Server列表
3.和每个HRegion Server通信,获得当前已分配的Region和HRegion Server对饮关系。
4.扫描.META.region的集合,计算得到当前还未分配的HRegion,将他们放入待分配Region列表。
2)master下线
HMaster只维护表和region的元数据,而不参与表数据IO过程,HMaster下线仅导致所有元数据的修改被冻结(无法删除表,无法修改表的schema,无法进行Region的负载均衡,无法处理Region上下线,无法进行Region合并;Region的split可以正常进行,因为只需要HRegion Server参与),表的数据读写可以正常进行。因此HMaster下线短时间内对整个HBase集群没有影响。