zookeeper源码3.6.0本地idea构建运行

环境信息

IntelliJ IDEA 2019.2.4 (Ultimate Edition)
Build #IU-192.7142.36, built on October 29, 2019

1.下载源码

方式一:从国外 Github 下载 zookeeper 源码 Go

git clone --branch release-3.6.0 git@github.com:apache/zookeeper.git

方式二:从国内 Gitee 下载 zookeeper 源码镜像 Go

git clone --branch release-3.6.0 git@gitee.com:apache/zookeeper.git

2.源码构建

方式一:进到根⽬录下, 执⾏

mvn clean install -DskipTests

方式二:idea 操作:先把跳过单元测试选上,再分别执行 clean 和 install

3.启动主程序

  • MainClass: org.apache.zookeeper.server.ZooKeeperServerMain
  • Program Arguments: conf\zoo.cfg
  • Use classpath of module: 选择 zookeeper
  • 勾上 Include dependencies with 'Provided' scope

解释:我从项目根目录拷贝了 zoo_sample.cfg 文件并重命名为 zoo.cfg,主要修改 dataDir 和 clientPort。

因为 zoo_sample.cfg 中的 dataDir 是 Linux 文件路径,而我是在 Windows 平台上运行,所以才修改的。

dataDir=D:\\tmp\\zookeeper

修改 clientPort 主要是因为端口占用异常 Caused by: java.net.BindException: Address Already in use: bind

clientPort=2182

解释:勾上 Include dependencies with 'Provided' scope,是因为我出现了启动时找不到类的异常 Caused by: java.lang.ClassNotFoundException: com.codahale.metrics.Reservoir

4.拷贝log4j.properties

conf\log4j.properties 拷贝到目录 zookeeper-server\src\main\resources 下:

同时在 Project Structure 中把 zookeeper-server\src\main\resources 标记为 Resources :

*生成代码的操作

这一步可以放在构建源码之后做,我现在不确定这一步不做会有多大影响,所以放在了这边。

参考文档

zookeeper源码3.6.0本地idea构建运行 阅读

posted @   极客子羽  阅读(460)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2020-07-30 TCP三次握手和四次挥手与Java Socket
点击右上角即可分享
微信分享提示