首页   快速返回

Zookeeper在HBase中的应用     所属分类 bigdata
HBase 用 Zookeeper 实现HMaster选举与主备切换、系统容错、RootRegion管理、Region状态管理和分布式SplitWAL任务管理等。


HMaster选举与主备切换

启动多个HMaster, 譬如启动2个 一个 active 一个 standby 

在某 regionserver上启动 Hmaster

hbase-daemon.sh start master

启动HBase集群:
bin/start-hbase.sh

单独启动一个HMaster进程:
bin/hbase-daemon.sh start master

单独停止一个HMaster进程:
bin/hbase-daemon.sh stop master

单独启动一个HRegionServer进程:
bin/hbase-daemon.sh start regionserver

单独停止一个HRegionServer进程:
bin/hbase-daemon.sh stop regionserver



RegionServer rs状态节点
/hbase/rs   /hbase/rs/$hostname

HMaster 监听该节点

RegionServer 挂掉   Session 失效  ,该节点会被删除 
HMaster 接收到  NodeDelete 通知


为何不直接让HMaster来监控RegionServer呢?
如果HMaster通过心跳等机制来监控RegionServer ,随着集群越来越大,HMaster的管理负担会越来越重,
另外它自身也有挂掉的可能,因此数据还需要持久化。 
使用  ZooKeeper 是不错的选择。

RootRegion管理

数据存储位置信息 元数据region RootRegion
/hbase/meta-region-server
当RootRegion发生变化,比如Region的手工移动、重新负载均衡或RootRegion所在服务器发生了故障等,
能够通过ZooKeeper来感知到这一变化并做出一系列相应的容灾措施,保证客户端拿到正确的RootRegion信息。


Region管理
Region变更的原因来自于系统故障、负载均衡、配置修改、Region分裂与合并等。
一旦Region发生移动,就会经历下线(offline)和重新上线(online)的过程。


分布式SplitWAL任务管理

WAL  日志回放 replay
将处理WAL的任务分给多台 RegionServer 共同处理

/hbase/SplitWAL
RegionServer 领取任务 并更新处理结果


HBase zk 操作封装 org.apache.hadoop.hbase.zookeeper

上一篇     下一篇
git恢复删除的文件

git branch 和 git checkout常见用法

hive数据仓库

elasticsearch中的DocValues

zab协议

hive