Kafka 源码编译
环境准备JDK1.7 or higher(建议使用 JDK 1.8)软件准备scala-2.11.12.zip 下载地址:https://www.scala-lang.org/download/2.11.12.htmlgradle-4.8.1-bin.zip(写本文的时候gradle最新版是4.8.1) 下载地址:https://gradle.org/releases/ 下载bina...
环境准备
- JDK1.7 or higher(建议使用 JDK 1.8)
软件准备
- scala-2.11.12.zip 下载地址:https://www.scala-lang.org/download/2.11.12.html
- gradle-4.8.1-bin.zip(写本文的时候gradle最新版是4.8.1) 下载地址:https://gradle.org/releases/ 下载
binary-only版即可:

- kafka 源码包(写本文的时候kafka最新版是1.1.0) 下载地址:http://mirror.bit.edu.cn/apache/kafka/1.1.0/kafka-1.1.0-src.tgz
1. scala 安装配置
- 解压
- 配置 SCALA_HOME 到系统环境变量中
- 在系统环境变量 Path 中添加 SCALA_HOME/bin
查看 scala 的版本号:

2. gradle 安装配置
- 解压
- 配置 GRADLE_HOME 到系统环境变量中
- 在系统环境变量 Path 中添加 GRADLE_HOME/bin
查看 gradle 的版本号:

3. 编译 kafka 源码
(1) 解压源码包

解压后的部分目录说明:
|
目录 |
描述 |
|---|---|
|
bin |
Windows 和 Linux 下 Kafka 相关操作的脚本,包括启动和关闭 KafkaServer、创建 topic、分区管理、模拟生产者和消费者基本操作的脚本等 |
|
clients |
Kafka客户端,包括 Kafka Producer 和 KafkaConsumer,Java语言开发 |
|
config |
Kafka运行相关配置文件,如 server.properties 文件 |
|
connect |
0.9 版本之后新增加的特性,提供了 Kafka 与其他系统整合进行数据导入、导出的统一接口 |
|
core |
Kafka 核心代码,包括消息定义、日志管理、各组件之间通信、安全协议等 |
|
docs |
官方文档 |
|
examples |
示例代码 |
|
streams |
0.10 版本之后新增的特性,Java 语言开发的构建流处理程序的库 |
|
tools |
工具类,用于查看生产者性能、吞吐量等 |
|
tests |
系统测试脚本 |
(2) 下载 wrapper 包
进入 kafka 源码根目录下,执行gradle wrapper命令,下载 wrapper 包:


命令执行成功后,会在 kafka 源码包的 gradle 目录下生成一个 wrapper 目录,其中包括gradle-wrapper.jar和gradle-wrapper.properties两个文件:


(3) 编译 kafka 源码
首先把之前下载好的 gradle-4.8.1-bin.zip 放到 C:\Users\用户名\.gradle\wrapper\dists\gradle-4.8.1-bin\e8p42vx1m7a3mz9ydmjagn6wn目录下,注意:e8p42vx1m7a3mz9ydmjagn6wn这个目录是执行第(2)步时自动生成的,你的目录名不是我这个,总之是一串随机的长长的字符序列
然后在 kafka 源码包根目录下执行gradlew eclipse命令:


这个过程需要下载依赖的 jar 包,比较耗时
4. Kafka 源码导入 IDEA 中
直接在 IDEA 中 点击 File -> open -> 选择 kafka源码包下的 core 文件夹和 clients 文件夹打开这两个项目即可,其中 core 项目是用 scala 写的,需要在 IDEA 中加入 scala-sdk,clients 项目是用 Java 写的,打开就可以正常阅读。


本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。
发表于 2018-09-13
更多推荐


所有评论(0)