ZooKeeper仲裁
zookeeper的仲裁规则 根据配置文件解析式生成
1. 多数原则
org.apache.zookeeper.server.quorum.flexible.QuorumMaj
2. 可配置分组
org.apache.zookeeper.server.quorum.flexible.QuorumHierarchical
原则:多数组中的服务器形成多数投票原则
例如有三个分组
group.1=1:2:3
group.2=4:5:6
group.3=7:8:9
默认权重为1,对于这种情况,按照多数原则9个人中超过一半即5个就可以了,但是对于QuorumHierarchical
这种分组,即使超过半数投票也并不一定满足它的原则。
例如,1组投3票,2组1票,3组一票
对于1组,多数成员投票,视为有效组
对于2组,只有1个成员投票,不满足多数投票原则,所以该组视为无效组
3组同理
所以有效组共有1组,不满足多数组原则,选举失败。
综上,多数组中的服务器形成多数投票原则的意思就是说 必须要有多数组投票,而满足条件的组指的是内部成员投票为多数的组。