首页
Code
Work
Nginx
ChatGPT
首页
Code
Work
Nginx
ChatGPT
321Cc ChatGPT AI助理
小工具
随机
归档
关于
9.zookeeper原理解析-选举之QuorumPeerMain加载
Zookeeper
2016-03-09
W.S.T
Zookeeper集群启动的入口类是QuorumPeerMain来加载配置启动QuorumPeer线程。首先我们来看下QuorumPeer, 谷歌翻译quorum是法定人数,定额的意思, peer是对等的意思,那么QuorumPeer中quorum代表的意思就是每个zookeeper集群启动的时候集群中zookeeper服务数量就已经确定了,在每个zookeeper的配置文件中配置集群中的所有机器 server.1=127.0.0.1:2886:3886 server.2=127.0.0.1:2887:3887 server.3=127.0.0.1:2888:3888 事实上着也确定zookeeper在运行中是不能动态扩容的,必须停下服务修改配置才可以;QuorumPeer中peer代表就是集中每个zookeeper角色是对等的没有主从之分,每个zookeeper服务都可以成为leader, follower,observer。 1. QuorumPeerMain加载 1) QuorumPeerConfig读取配置文件,如下面的zoo.cfg文件 tickTime=2000 initLimit=10 syncLimit=5 dataDir=D:/workspace\_zookeeper/data1 clientPort=2181 server.1=127.0.0.1:2886:3886 server.2=127.0.0.1:2887:3887 server.3=127.0.0.1:2888:3888 如上配置中每个server.X记录代表集群中的一个服务,QuorumPeerConfig会构建一个QuorumServer对象,其中的server.X中的X代表zookpeer的sid,每个zookeeper都会编辑自己的sid在dataDir目下的myid文件中,sid标记每个服务,在快速选举中起作用 ![](https://321cc.cn/usr/uploads/2023/04/464995821.png) server.X后值代表zookeeper服务地址ip以及选举其中zookeeper之间连接的端口 2)启动定时清理服务任务DatadirCleanupManager.start() 用来清除过期的txtLog和snapshot文件 3)构建QuorumPeer任务对象 3.1)设置供客户端连接的端口地址 3.2)设置txtLog和snapshot的操作对象FileTxnSnaplog 3.3)设置本Zookeeper的myid(sid) 3.4)设置客户端连接工厂 3.5)设置选举算法 3.6)各种时间设置等等 4)QuorumPeer.start()启动任务线程
Zookeeper
请输入评论内容
取消回复
提交评论
W.S.T
Attitude is everything
热门标签
Zookeeper
Oracle
linux
自动备份
9i
10g
系统集成项目管理工程师
2013
上半年
上午试题
答案
typecho
blog
baidu
bae
热门文章
BLOG成功托管到百度BAE
回来了~~
终于把BLOG从PJBLOG转换到Typecho
有趣的弹钢琴游戏
SQLSERVER2000的jdbc驱动程序连接
如何把ACCESS转成MSSQL数据库
学生街~~~
最新评论
321cc: 6年前哈~~
ZEONLEE: 我试下.
ZEONLEE: URL规则那边没有完全啊,根目录下面的文件都无法访问...