文章目录
Apache ZooKeeper - 构建ZooKeeper源码环境及StandAlone模式下的服务端和客户端启动
有了使用源码启动单节点的经验,集群模式就很容易了,无非就是多几个配置文件 ,启动了集群模式才好去分析分布式环境下的leader的选举等源码
配置总览
端口说明
clientPort=2181
server.1=127.0.0.1:2888:3888
我们以这个为例,来看下这几个端口都是干啥用的
Node 1
【zoo1.cfg 】@H_502_91@
tickTime=2000
initLimit=10
synclimit=5
dataDir=D:/IdeaProjects/zookeeperSource/data/zk1
clientPort=2181
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890
【myid】@H_502_91@
tickTime=2000
initLimit=10
synclimit=5
dataDir=D:/IdeaProjects/zookeeperSource/data/zk1
clientPort=2181
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890
Node 2
【zoo2.cfg 】@H_502_91@
tickTime=2000
initLimit=10
synclimit=5
dataDir=D:\\IdeaProjects\\zookeeperSource\\data\\zk2
clientPort=2182
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890
tickTime=2000
initLimit=10
synclimit=5
dataDir=D:\\IdeaProjects\\zookeeperSource\\data\\zk2
clientPort=2182
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890
调整clientPort和dataDir
【myid】@H_502_91@
Node 3
【zoo3.cfg 】@H_502_91@
tickTime=2000
initLimit=10
synclimit=5
dataDir=D:/IdeaProjects/zookeeperSource/data/zk3
clientPort=2183
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890
tickTime=2000
initLimit=10
synclimit=5
dataDir=D:/IdeaProjects/zookeeperSource/data/zk3
clientPort=2183
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890
调整clientPort和dataDir
【myid】@H_502_91@
启动集群环境
分别启动3个节点
测试
启动第一个节点 ,会报错,因为其他两个节点还没启动,连接报错 Cannot open channel to 3 at election address /127.0.0.1:3890
启动第二个节点后,节点正常了, 此时经过选举将节点二选举为leader节点,节点1为follower
节点二日志:
启动第三个节点后, 加入到集群,节点三的同样也是follower节点
好了 完事儿了 操作就是这么简单
接下来从源码角度分析ZK集群启动时的选主过程~
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。