zookeeper原理及应用

zk 在客户端连接的时候会有一个sessiontimeout,session timeout 之前只要连接上一台机器就不算断开连接了

ZAB需要保证的是当3号变更被执行的时候1,2两个变更都已经确定被执行了

ZK是使用一个类似于二阶段提交的过程,客户端提交到了proposer上,然后到master,master向所有的成员广播,超过半数同意就可以commit了

显然二阶段存在着单点问题,无法保证在master崩溃的情况下依然可以同步成功,所以一旦master节点挂了,就需要另外选举出一个新的leader

ZXID的低32位是一个递增的ID,高32位是一个epochID,每次选举后都会将master的id +1

这样保证了每次新的服务器如果有集群中不一致的消息要提交的时候一定是不成功的,会被要求回退到某个和集群中一致的节点上

 

部署zk的时候最重要的一点就是要把myid写对

抢锁

临时节点检测心跳

读写锁

选举主备

根据子id的最小来进行消息的消费

 

实际上yarn的rm就是利用的zk来进行主备切换的。为了防止误抢了主。可以使用acl

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值