Zookeeper源码分析(四)-zoo.cfg的详解和选举的概念
2015-10-16 16:07
183 查看
虽然参照源码和网上的一些文章了解了zookeeper,但是有些概念和详解还需记录一下
1.zoo.cfg
选举的一些概念
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实现的
选举的一些概念
相关文章推荐
- 为什么要成为一家4点半下班的企业
- 浏览器工作原理
- 常用函数--不同时间粒度循环取数之sp_Utl_ComboTime
- 美团大众点评合并:背后技术力量的对比回顾【转载+整理】
- iOS collection长按编辑功能
- Word Pattern
- 位图图像基础
- 关于多线程环境下安全调用窗体控件方法
- 深入了解javascript--立即调用的函数表达式
- 详解Python编程中包的概念与管理
- iOS 9 适配中一定会遇到的大坑合集
- SQL LIKE 操作符 高级教程
- 美团和当当推荐系统文章
- 常用函数--不同时间粒度循环取数之sp_Utl_CalculateTimeBorder
- Nokogiri解析html/xml
- NPM与调试工具的使用
- python两个 list 获取交集,并集,差集的方法
- Python BaseHTTPServer 模块解析
- 匈牙利算法学习资料
- iOS 9 SPOTLIGHT