研究zookeeper的源码,第一步就是搭建环境,利用idea启动zk的源码,过程比较简单,网上的教程也是很多,可是搞起来仍是会遇到各类各样的问题,这里作个记录。java
一、zookeeper源码3.5.5版本
二、idea编辑器
三、基于ant构建zookeepergit
一、下载地址:https://ant.apache.org/bindownload.cgi
二、下载版本:1.10.7,zip包
三、解压,配置环境变量ANT_HOME=D:\apache-ant-1.10.7-bin\apache-ant-1.10.7
四、编辑Path,增长%ANT_HOME%\bin
五、编辑classpath,增长%ANT_HOME%\libgithub
一、下载zk源码: https://github.com/apache/zookeeper
二、切换到分支:git checkout branch-3.5.5
三、执行ant eclipse构建:zk不支持idea项目,全部使用ant eclipse 直接构建成eclipse项目,构建成功会出现build success字样。apache
通常这里不会报错。markdown
一、启动zookeeper服务,找到文件ZooKeeperServerMain,并调用main方法。
二、发现报错,Version.java下的类Info没法找到,须要新建这个类。
三、新建Info文件,便可eclipse
package org.apache.zookeeper.version; public interface Info { int MAJOR=1; int MINOR=0; int MICRO=0; String QUALIFIER=null; int REVISION=-1; //TODO: remove as related to SVN VCS String REVISION_HASH="1"; String BUILD_DATE="2019-3-4"; }
注意:若是还有其余类找不到,须要多进行几回ant eclipse,或者从新拉zk的代码,从新执行ant eclipse。这里我也是遇到了这种状况,通过几回就能够了。至于为何尚未获得答案!编辑器
若是启动过程遇到如下状况:ide
须要配置log4j的配置,参考下一步的配置。测试
四、配置启动ZooKeeperServerMain参数ui
五、从新执行ZooKeeperServerMain的main方法,启动zookeeper服务。
六、注意8080端口不要被其余进程占用,由于启动须要这个端口。
七、在本地使用zkCli.cmd测试服务是否启动
接下来能够尝试zookeeper里的各类测试用例,debug代码,畅游源码了。