ZooKeeper是一个使用Java语言编写,基于Ant进行构建的开源软件,所以搭建ZK源码环境前,需要准备好JDK和Ant环境。
安装JDK
略。
安装ant
(1)下载
地址:apache-ant-1.10.5-bin.zip,如图:
(2)解压
直接解压即可,例如解压到E:\apache-ant-1.10.5
(3)配置变量
如下添加ANT_HOME环境变量
ANT_HOME=E:\apache-ant-1.10.5
在Path变量最后添加%ANT_HOME%\bin
(4)验证
打开命令窗口执行ant -version,成功安装后,如图:
ZooKeeper编译
(1)下载
a、源码下载
我们以从github上下载3.4.10版本的源码为例,zk源码地址如下:
https://github.com/apache/zookeeper
git命令如下:
git clone --branch release-3.4.10 https://github.com/apache/zookeeper.git
下载完成后,源码目录结构如图:
如果下载其他版本,修改--branch后的release-3.4.10即可。
b、安装包下载
以3.4.13版本为例,如下:
地址:zookeeper-3.4.13.tar.gz,如图:
(2)解压
安装包需要解压,直接解压即可,例如:H:\zookeeper-3.4.13
(3)编译
进入ZooKeeper目录(源码和安装包操作相同),按住Shift,点击鼠标右键,选择,输入ant eclipse,等待编译(需要连接网络下载依赖的相关包),最后看到输出 build successful字样表示编译成功,部分编译日志如下:
(4)导入Idea或eclipse
a、Idea
点击File-->New-->Project from Existing Sources...,如图:
选择H:\zookeeper-3.4.13目录,一直点击next,直到完成即可。
b、eclipse
依次点击
File -> Import -> Existing Projects into Workspace
选择ZK目录,点击Finish。安装包编译的目录结构如下:
完成工程导入。导入工程后,可能会出现编译错误,可如下解决,选择当前zk工程,右键
properties -> Java Complier,Complier compliance level选择1.6,如图:
下面来启动zookeeper服务端,在工程中找到ZooKeeperServerMain.java,
路径:src/java/main/org/apache/zookeeper/server/ZooKeeperServerMain.java
配置启动参数,如图:
点击运行,输出日志如图:
执行telnet 127.0.0.1 2181,然后再执行stat,类似输出如下:
表示启动成功。
如果使用如上方式将源码方式编译的zk工程导入eclipse中,设置了Complier compliance level后依然出现红色,原因是找不到
org.apache.zookeeper.version.Info接口,只需要将刚才安装包方式编译成功的src\java\generated\org\apache\zookeeper下的version目录拷贝过来即可,如图:
或者自己在该目录下创建Info接口,内容如下:
package org.apache.zookeeper.version;
public interface Info {
int MAJOR=3;
int MINOR=4;
int MICRO=10;
String QUALIFIER=null;
int REVISION=-1; //TODO: remove as related to SVN VCS
String REVISION_HASH="b0aaa7de5b28375cd34ead8c8fbf14e3ebddd30f";
String BUILD_DATE="03/23/2017 11:24 GMT";
}