zookeeper核心原理

zookeeper名字由来

其名字汉译为动物管理员,因为Hadoop,Hbase,Hive等大数据技术的图标都是动物,而zookeeper作为Hadoop,Hbase集群的协调者来讲,像是一个动物园的管理员。

zookeeper选举机制

zookeeper启动后,分为两阶段①数据恢复阶段②选举阶段。

在第①阶段中会读取事物id,在第②阶段中根据选举协议来确定leader。

选举协议中有三个重要的概念:

a.事物id

b.选举id(配置文件中的myid)

c.过半性原则(得到的选票超过半数,除去observe机子,因为observer不参与投票,只监听投票结果)

选举时,先比较事物id,如果事物id大,且满足过半性,则为leader。如果事物id都一样,则比较选举id,选举id大,且满足过半性则其为leader。因此,假设有3台机子,都不为obsever机子,事物id都一样,选举id依次为1,2,3,依次启动这三台机子,那么整个集群的leader为机子2。如果启动顺序为1,3,2,那么leader为3机子。

zookeeper的zab协议

zab协议:为了保证zookeeper集群数据一致性的原子广播协议,其实对2pc协议的优化,2pc协议中如果有一个分支事物失败,则整个事物回滚,这个模式比较低效,而zab协议的优化是:成功的分支事物操作满足过半性后,整个事物就会成功,不用所有分支事物都成功。

observer

不参与投票和写请求,可以提供读请求。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值