Hbase与ZooKeeper组件如何协同工作

ZooKeeper

HBase使用ZooKeeper作为分布式协调服务来维护集群中的服务器状态。Zookeeper维护哪些服务器处于活动状态并可用,并提供服务器故障通知。Zookeeper使用共识来保证共同的共享状态。请注意,应该有三到五台机器达成共识。

Hbase与ZooKeeper组件如何协同工作_第1张图片
image

组件如何协同工作

Zookeeper用于协调分布式系统成员的共享状态信息。区域服务器和活动HMaster通过会话连接到ZooKeeper。ZooKeeper通过心跳维护活动会话的临时节点。

Hbase与ZooKeeper组件如何协同工作_第2张图片
image

每个区域服务器创建一个临时节点。HMaster监控这些节点以发现可用的区域服务器,并监控这些节点的服务器故障。HMasters争夺创造一个短暂的节点。Zookeeper确定第一个并使用它来确保只有一个主站处于活动状态。活动HMaster将心跳发送到Zookeeper,非活动HMaster将监听活动HMaster故障的通知。

如果区域服务器或活动HMaster未能发送心跳,则会话过期并删除相应的临时节点。更新的听众将被通知删除的节点。活动的HMaster侦听区域服务器,并在失败时恢复区域服务器。Inactive HMaster监听活动HMaster失败,如果活动HMaster失败,则非活动HMaster将变为活动状态。

你可能感兴趣的:(Hbase与ZooKeeper组件如何协同工作)