Hbase与ZooKeeper组件如何协同工作

ZooKeeper

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

image

组件如何协同工作

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

image

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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容