前言
在前面的章节中已经完成了zookeeper单机版本源码分析,接下来我会通过一系列的文章继续分析zookeeper分布式源码,本编作为这一系列文章的开篇,主要是讲解如何在一台电脑上搭建一个分布式的zookeeper debug环境
分布式Debug环境搭建
我们搭建有3个zookeeper节点的Debug环境,这个过程其实很简单
我们把之前的zookeeper源码工程复制出来2份,修改项目根目录的名称,比如叫做zookeeper_2,zookeeper_3
在每个节点的dataDir目录下新建myid文件,并且输入对应的数字,比如三个节点依次为1,2,3
修改每个zookeeper源码工程的zoo.cfg文件,这里涉及到三个地方需要修改
修改clientPort
因为是在同一台机器上运行三个zookeeper实例,所以需要修改clientPort的默认值,比如三台机器的clientPort可以依次为2181,2182,2183
修改dataDir
设置每个zookeeper节点存储数据的位置,因为在同一台机器上,所以要注意设置成不同的目录
添加server.n = ip:leader_listene_port:elect_port
给每台机器添加集群其他节点的信息,leader_listene_port指的是当这个服务器被选中作为leader的时候,它向外暴露的作为提供leader服务的端口,elect_port是集群选主时候进行信息通信的端口,下面是我的测试环境的配置
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2777:3777
server.3=127.0.0.1:2666:3666
启动节点
找到QuorumPeerMain类,设置好zoo.cfg,找到main方法然后启动,开启你的zookeeper 集群源码debug之旅吧