安装ant
由于ZooKeeper早期稳定版本都是使用ant来管理的,所以我们在搭建源码环境之前需要首先安装ant。ant在官网上下载很慢,附件中提供了编译好的压缩包版本。
下载下来压缩包之后,复制到我们的工作目录并解压。然后配置环境变量:计算机->属性->高级系统设置->环境变量->在系统变量(S)的Path属性处点击编辑,如图:
将我们ant目录的bin目录添加到path属性中:
打开命令行窗口,使用ant -version
命令查看是否添加成功:
搭建源码环境
下载源码并编译
我们以ZooKeeper的release-3.5.4版本为例。在github或者附件中下载对应版本的源码。解压之后进入源码,先编辑build.xml,修改其中心仓库:
<get src="http://ufpr.dl.sourceforge.net/project/ant-eclipse/ant-eclipse/1.0/ant-eclipse-1.0.bin.tar.bz2"
dest="${src.dir}/java/ant-eclipse-1.0.bin.tar.bz2" usetimestamp="false" />
修改好之后保存退出,在命令行窗口进入到源码文件夹执行ant eclipse
编译项目。编译好之后直接使用IDEA的File->Open打开项目。
配置编译环境
首先我们需要配置环境的JDK:
配制好之后,将源码中根目录下的build文件夹下的两个lib文件夹作为依赖引入到项目中:
保存之后,我们需要处理一下Version这个类的依赖。我们新建一个Application:
上图中需要注意:运行参数是三个(项目版本号,项目reversion的hash值,创建时间),用空格隔开;后面的Before launch什么都不要选。弄好之后我们重新编译一下该类并运行:
运行之后在项目的根目录会有一个org/apache/zookeeper/version/Info.java的文件生成。将其复制到源码的对应的文件夹下面:

至此,我们的源码就配置好了。
运行服务和客户端
我们在运行服务端之前,首先在项目的根目录创建一个data文件夹,并复制项目根目录conf/zoo_sample.cfg文件为conf/zoo.cfg并修改其内容:
注意:dataDir的目录地址一定要按照图中格式填写,否则就使用默认值。端口号根据情况修改就行。
修改完之后,我们新建一个Application命名为zkServer,如图:
主类我们选择org.apache.zookeeper.server.quorum.QuorumPeerMain
。
虚拟机参数我们设置一下log4j配置文件的地址:
-Dlog4j.configuration=file:E:\rubin\projects\self\zookeeper\conf\log4j.properties
程序运行参数我们填写我们的zoo.cfg的全路径就行。配制好之后保存运行,看到编译无报错,输出以下日志表示启动成功:
客户端同样新建一个名字为zkClient的Application,配置如图所示:
主类选择:org.apache.zookeeper.ZooKeeperMain
。
虚拟机参数和服务端一致。
运行参数的意思是连接的服务器地址,连接之后执行get /rubin操作,即查看/rubin节点的信息。参数文案如下:
-server 127.0.0.1:2181 get /rubin
保存运行,编译无报错,正常输出以下日志表示我们的客户端启动成功:
至此,我们的ZooKeeper源码环境就搭建完成了。欢迎留言交流~~~
文章评论