HBase Master 解析

HBase的Master组件HMaster负责管理集群,包括InfoServer、ZooKeeperWatcher、ActiveMasterManager等。它通过ZooKeeper进行状态管理,如RegionServerTracker监控RS状态,AssignmentManager处理region分配。启动过程涉及构造函数初始化、竞争成为active master、初始化系统组件和服务,最终等待region server报告并执行region分配等任务。
摘要由CSDN通过智能技术生成

HBase的master server具体实现是HMaster。它提供了面向Client的HMasterInterface和面向region server的HMasterRegionInterface的实现。

HBase HMaster components



下面是它的组件介绍:

InfoServer
展示信息的组件。这是一个web server,响应你访问http://MasterHost:60010的http请求,它本质是一个Jetty web server。

ZooKeeperWatcher
zookeeper的观察者。所有需要获知与处理ZNode状态变化的组件都需要在它上面注册ZooKeeperListener。同时它还提供了在zookeeper上操作节点的能力,通过获取其内部的RecoverableZooKeeper对象来进行操作。

ActiveMasterManager
active master的管理对象。它主要做的事就是监听zookeeper上master znode的变化。一旦它发现当前的active master unavailable(也就是 master znode被删除了),那么它会竞争,使当前master成为新的active master。

在master启动的时候会调用其blockUntilBecomingActiveMaster方法,试图成为集群的active master。失败的话,master的启动会阻塞在这个方法上,直到集群停止或者是当前active master unavailable,那么它会被唤醒做新的竞争。

RegionServerTracker
跟踪online region server的状态通过zookeeper,并做相应处理。如果某个RS znode被删除了,那么它会通过ServerManager去终止这个RS,并移出online servers列表。

特别的,在它准备expire这个RS的时候,会先通过ServerManager判断这个RS是否在线,如果不在线则不做exprire,也不移出列表,仅仅是打出一条warn log。我猜这样做的目的是:既然RS不在线,我也无法给它下达关闭命令,说不定过一会这个RS恢复正常又上线了,又重新在zookeeper里建立znode。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值