ZooKeeper 和 Kafka 源码环境搭建

1. ZooKeeper

导入项目

ZooKeeper 项目使用 ant 工具构建,IDEA 目前不支持,网上的做法是先使用 ant 转成 eclipse 项目,再导入 IDEA 中,一顿操作发现并没有成功,找到了第二种办法,成功了。

从 maven 仓库中 https://repo1.maven.org/maven2/org/apache/zookeeper/ 中找到 ZooKeeper 的 maven 项目。

/parent 是父 pom 文件, /zookeeper 是 server 端代码,/zookeeper-jute 是序列化工具。在 IDEA 新建 maven 项目将这三部分代码解压,拷贝 pom 文件和代码包。

运行项目

1. 新建 conf 文件,把 ZooKeeper github 上的 conf 拷过来,在启动类org.apache.zookeeper.server.ZooKeeperServerMain 中如下图参数获取 zoo.cfg 路径,在代码中加上路径。

2. 3.5.0 之后增加了内置 jetty ,网页版命令工具,默认端口8080。但执行代码是会出现关于jetty 的异常 java.lang.NoClassDefFoundError,解决办法如下图,修改scope。类似这样的错误也如此处理。

ps:网页版命令工具地址 http://localhost:8888/commands 端口和路径都是可以配置的

日志配置文件路径参数也可以加在启动参数里,如下图。

2 . Kafka

导入项目

Kafka 现在使用 gradle 构建项目,在 github 下 clone 代码。

1. mac 安装 gradel,brew install gradle

2. 下载 gradle 的 wrapper 程序套件,在 Kafka 目录下,gradle wrapper

3. ./gradlew clean releaseTarGz 将 Kafka 源码编译打包成 Jar 文件,在 core 的 build/distributions 目录下。

4. ./gradlew idea 创建 IDEA 项目,IDEA 打开项目。运行 Kafka.scala 文件

3. 源码统计

Kafka 源码包含测试代码 scala 代码接近15万行,Java 代码包括测试代码45万多行,主要集中在client模块下,据说是因为 Kafka新加入的代码贡献者Java开发不少,client 模块用Java重写了。

ZooKeeper 源码没下测试代码,接近6万行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值