Zookeeper集群node3节点服务无法正常启动问题,
Node1 和node2服务启动正常
The current epoch, 6, is older than the last;
current epoch 落后leader节点太多,启动失败。
查看各个node节点epoch,cd /opt/hadoop/zookeeper/version-2
Node1: acceptedEpoch 7, currentEpoch 7
Node2: acceptedEpoch 7, currentEpoch 7
Node3: acceptedEpoch 5, currentEpoch 6
1、更改node3 epoch值,与node1,node2保持一致,acceptedEpoch 7, currentEpoch 7
2、重启zookeeper服务
Epoch number
Epoch是用于区分每一个round,每一次建立一个新的leader-follower关系,都会有一个唯一的epoch值去标识。
Epoch在两个过程中用到:1、leader election时。2、recovery过程(新建立一个leader-follower关系)。
1、过程1:每一个fast leader election开始时epoch的值都为0,epoch的值会在fast leader election过程中进行更新。
每个zookeeper节点刚启动时没有leader-follower关系视图,那么它就会认为自己是leader,然后发起 leader electoin,那么这个leader election的epoch值为0;在leader election过程中,将epoch更新到currepoch值(其他peer server中的最高的epoch)。使用epoch number来区分不同的fast leader election过程。
2、过程2:在一个faster leader election结束后,新产生的leader会获取epoch,其值为lastest history zxid的高32位,然后对epoch自增,然后用新的epoch值作为新zxid的高32,zxid的低32位为0。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作