您的位置:首页 > 运维架构 > Apache

HBase源码分析之org.apache.hadoop.hbase.master.handler包

2013-05-15 13:47 549 查看
这个包下的主要是master提供的一些Executor线程池服务,供调用
ClosedRegionHandler,
如果表被disabled,删除zk上的unassigned 相关node, 从transition状态中删除;否则分配另外一个server。
CreateTableHandler,
在调用master上的接口创建Table时,可以指定splitkey,也可以不指定。
在zookeeper上table节点下创建节点
hdfs上创建表以及region目录,创建region,并插入到META表
分配regions到regionServer
设置zookeeper table节点下的该表为enable状态
DeleteTableHandler,
DisableTableHandler,
EnableTableHandler,
MetaServerShutdownHandler,
ModifyTableHandler,
OpenedRegionHandler,
region打开之后,做的一些清理工作,比如删除zookeeper上的unassigned下的region节点信息,同步AssignmentManager上的RegionState信息
ServerShutdownHandler
当server shutdown或者expire后,master监控到后,进行的一系列迁移region,log split 以及清理动作。
处理过程有,
对该server的HLog进行split log操作,
如果该server持有ROOT、META信息,那么对ROOT、META重新分配,直到META重新分配完成,
分配该server上原先持有的region

SplitRegionHandler,
已经完成了split的后续处理,比如更新AssignmentManger上的和该region以及daughters相关的缓存信息,删除zookeeper上的unassigned 下的当前region信息。

以下三个handler都是继承TableEventHandler

扫描META表,获取该表对应的regions信息
更新HDFS上的和内存中的table desc信息
如果当前该表处于enable状态,那么就重新打开所有的region。

TableAddFamilyHandler,
TableDeleteFamilyHandler,
TableModifyFamilyHandler

待完善和补充.....
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: