下载
// git地址 版本3.5.8
https://github.com/apache/zookeeper.git
导入idea
启动
-
源码导入后,org.apache.zookeeper.Version类会报错,需要建一个辅助类
package org.apache.zookeeper.version; public interface Info { int MAJOR = 1; int MINOR = 0; int MICRO = 0; String QUALIFIER = null; int REVISION =-1; String REVISION_HASH = "1"; String BUILD_DATE = "2020‐12‐15"; }
-
根目录执行
mvn clean install ‐DskipTests
-
入口类
开源项目找入口类一般都是从启动脚本去找,可以从bin目录下 的zkServer.sh或 zkServer.cmd里找到启动主类运行即可. 下图可以看到启动类为: org.apache.zookeeper.server.quorum.QuorumPeerMain
-
配置文件
将conf文件夹里的zoo_sample.cfg文件复制一份改名为zoo.cfg 将zoo.cfg文件位置配置到启动参数里
注意
- 启动之前需要先将zookeeper-server项目里pom.xml文件里依赖的包(除了jline)的scope为provided这一行全部注释掉。
- 将conf文件夹里的log4j.properties文件复制一份到zookeeper-server项目的 \target\classes 目录下,这样项目启动时才会打印日志
本地客户端连接ZK
配置运行参数:-server localhost:2181,如图:
启动客户端连接
操作节点
zookeeper 源码集群启动
- 新建目录data,并添加子目录zk1、zk2、zk3
- 分别在zk1\zk2\zk3添加文件myid并输入对应节点序号
- config目录复制3份zoo.cfg 重命名为zoo1.cfg、zoo2.cfg、zoo3.cfg
- 启动集群
到此完事项目启动完事了,下一篇为zookeeper选举源码分析。