【Zookeeper】——Leader选举
来源:互联网 发布:淘宝店铺商品上架教程 编辑:程序博客网 时间:2024/05/13 07:57
一、选举步骤
1、初始化Leader选举
a、根据自身的SID(服务器ID)、最新的ZXID和当前的服务器epoch来生成一个初始化投票
b、根据zoo.cfg中的配置,创建Leader选举算法
c、启动Leader选举端口的监听,等待集群中其他服务创建连接
2、注册JMX服务
3、检测当前服务器状态
4、Leader选举
选举过程:集中所有机器,互相之间相互投票,选举产生最合适的机器成为Leader,其余成为Follower或者是Observe。
选举算法:集群中哪个机器的数据越新(通常根据每个服务器处理过的最大ZXID来比较确定其数据是否更新),越可能成为leader。如果集群中所有的机器处理ZXID一致的话,SID最大的服务器成为Leader。
具体Leader选举流程
1、每个server会发出一个投票
2、接收来自各个服务器的投票
每个服务器都会接收来自其他服务器的投票,并判断投票的有效性,检查投票是否来自looking状态的服务器。
3、处理投票
4、统计投票
5、改变服务器状态
follower:following
leader:leading
如果leader宕机后,所有的服务的状态都会变成looking。
名词解释:
SID(服务器ID):
是一个数字,用来唯一标识一台Zookeeper和myid的值一致。
ZXID(事务ID)
用来唯一标识一次服务器状态的变更。在某一时刻,集群中每台机器的ZXID值不一定全都一致。
VOTE(投票)
0 0
- zookeeper——leader选举
- 【Zookeeper】——Leader选举
- zookeeper学习笔记——leader选举
- zookeeper——leader选举(curator)
- Zookeeper-Zookeeper leader选举
- Zookeeper-Zookeeper leader选举
- Zookeeper-Zookeeper leader选举
- Zookeeper-Zookeeper leader选举
- Zookeeper-Zookeeper leader选举
- Zookeeper-Zookeeper leader选举
- zookeeper LeaderElection(leader 选举)
- zookeeper leader选举
- Zookeeper -- leader选举
- zookeeper选举leader过程
- zookeeper-Leader选举
- Zookeeper的Leader选举
- ZooKeeper Leader选举过程
- zookeeper leader选举机制
- laravel 学习之文章分类
- jarsigner 错误: java.lang.RuntimeException: 密钥库加载: Invalid keystore format
- 最优化方法的Matlab实现
- LeetCode 第十四题 Longest Common Prefix(最长公共前缀)
- xcode 中 #pragma 代码注释问题
- 【Zookeeper】——Leader选举
- 单点登录SSO的实现原理
- url编码函数
- Razor Helper与Partial View
- 关于 in与exist , not in与not exist 的区别
- 不允许创建临时变量,交换两个数的内容
- android自定义Toolbar
- android之用户头像的获取和显示
- Android 开源项目源码解析 -->公共技术点之依赖注入(二)