Zookeeper源码解析——本地开发环境搭建

来源:互联网 发布:java的语句类型 编辑:程序博客网 时间:2024/06/12 22:38

Zookeeper是开源高可用的分布式协同服务,在分布式系统中应用广泛,代码量适中,适合阅读和学习。首先从开发环境的搭建开始介绍。

环境和工具

  • LZ用的是windows10,windows皆可把
  • Git,Ant,Intellij Idea(eclipse也可以),版本随意,LZ用的是最新的。
  • Java 1.8

项目下载

从apache zookeeper上查找项目地址,选用在GitHub上的项目:https://github.com/apache/zookeeper
Zookeeper GitHub
git clone https://github.com/apache/zookeeper.git 下载源码,目前构建的版本是3.6.0-SNAPSHOT

工程构建

进入源码目录,执行
ant eclipse and ant build
保证BUILD SUCCESSFUL, 可能会失败的原因就是依赖包下载不了或缺少依赖包,如果遇到这种情况就需要修改ivy.xml和build.xml,需要熟悉ant和ivy。不过最新的代码应该不会构建失败,至少LZ幸运地构建成功了。

启动服务

进入zookeeper/conf,复制zoo_sample.cfg,并改名为zoo.cfg
进入zookeeper/bin,执行zkServer.cmd 启动服务,将读取默认的配置路径zookeeper/conf/zoo.cfg来启动服务,默认监听2181端口
zkServer启动命令
默认配置启动时,还启动了Jetty,占用了8080端口

客户端连接测试

执行zkCli.cmd,使用客户端连接上zk,可以使用基本命令ls。
zkCli连接测试

使用Intellij IDEA导入工程,并启动zk

打开IDEA,导入工程,选择eclipse工程,来导入zookeeper。

打开zkServer.cmd,看下启动类是org.apache.zookeeper.server.quorum.QuorumPeerMain,在IDEA找到QuorumPeerMain,右键run,然后修改run配置


改完配置,将conf/log4j.properties配置拷贝到zookeeper/src/java/main路径下,这样log4j配置就能生效了,重新run,没报错,再用zkCli连接测试下没问题。