Zookeeper源码分析(四)-zoo.cfg的详解和选举的概念

虽然参照源码和网上的一些文章了解了zookeeper,但是有些概念和详解还需记录一下
1.zoo.cfg

dataDir  // 存储内存数据库快照地址 
dataLogDir  // 更新内存数据库事务日志的地址
clientPort  // 客户端连接的端口
clientPortAddress //客户端地址名称
tickTime  //每次发送心跳包时间(默认为3000)
maxClientCnxns  //客户端连接最大数量
minSessionTimeout  //默认为-1
maxSessionTimeout  //默认为-1
initLimit  // 限制同步期间心跳包的初始数量 
syncLimit  // 限制从发送请求到确认请求时间内的心跳包数量,即客户端连接服务器的超时时间是(syncLimit*tickTime)
electionAlg   //选举算法(默认为3是 FastLeaderElection)
quorumListenOnAllIPs  //是否监听所有ip的端口,默认为false(只绑定server下的选举端口的ip)
peerType //服务器类型(observer/participant),observer不参与投票,如果和server里的配置不一样则server里的有效
syncEnabled  //默认为true
autopurge.snapRetainCount   //自动清洗dataDir,dataLogDir目录后保存的快照数据数量(默认最低为3)
autopurge.purgeInterval     //自动清洗频率(单位为小时,默认为0)

server //quorumServer服务器列表,可以有三种配置(zoo1:2888或zoo1:2888:3888或zoo1:2888:3888:participant),zoo1:2888配置只有当electionAlg=0才有效
例:
server.1=zoo1:2888:3888:participant  
server.2=zoo2:2888:3888:observer  
server.3=zoo3:2888:3888:participant


group //机器分组,等号后面的1,2,3,4,5,6,7,8,9是sid
例:
group.1=1:2:3  
group.2=4:5:6  
group.3=7:8:9  

weight //机器权重,没有配置的机器默认权重为1
例:
weight.1=1  
weight.2=1  
weight.3=1

其他的通过System.setProperty("zookeeper." + key, value);放到系统变量里去了。

注意:当没有配置group时,Leader选举成功是通过QuorumMaj(即超过半数票就是Leader)实现的;
      否则则是通过QuorumHierarchical实现的

  1. 选举的一些概念
    这里写图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值