下载源码导入Idea
我们看一下zookeeper的工程结构,bin目录放的是启动脚本,conf下面放的是配置文件。
拷贝zoo_sample.cfg文件并命名为zoo.cfg,这里存放的是启动的一些参数。Zookeeper源码启动设置配置参数有两种方式:一种是在VM参数中指定zoo.cfg文件的位置,另一种是直接在VM参数中指定需要的参数。在后面的源码分析中可以看到。这里我们修改一个参数dataDir,这是Zookeeper运行的数据目录,方便我们后期观察。
zkServer.sh
zkServer.sh是在Linux环境下的启动脚本,从这里我们可以看到启动类是org.apache.zookeeper.server.quorum.QuorumPeerMain,也可以看到启动时需要的参数。我们启动Server的时候,就从这个类作为切入点。
maven修改
这离有一个坑,在启动之前,我们还需要在zookeeper-server模块下面修改一下maven信息,将snappy-java
和metrics-core的scope去掉,provided只在编译的时候生效。
添加启动参数
将配置文件zoo.cfg添加到启动启动参数中。
然后我们就可以看到Zookeeper的服务端正常起来拉。
- 海报