zookeeper核心原理
zookeeper名字由来其名字汉译为动物管理员,因为Hadoop,Hbase,Hive等大数据技术的图标都是动物,而zookeeper作为Hadoop,Hbase集群的协调者来讲,像是一个动物园的管理员。zookeeper选举机制zookeeper启动后,分为两阶段①数据恢复阶段②选举阶段。在第①阶段中会读取事物id,在第②阶段中根据选举协议来确定leader。选举协议中有三个重要的概念:a.事
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)