Kafka 源码编译

2018-09-13 10:31:16 浏览数 (1)


环境准备

  • 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.jargradle-wrapper.properties两个文件:

(3) 编译 kafka 源码

首先把之前下载好的 gradle-4.8.1-bin.zip 放到 C:Users用户名.gradlewrapperdistsgradle-4.8.1-bine8p42vx1m7a3mz9ydmjagn6wn目录下,注意:e8p42vx1m7a3mz9ydmjagn6wn这个目录是执行第(2)步时自动生成的,你的目录名不是我这个,总之是一串随机的长长的字符序列

然后在 kafka 源码包根目录下执行gradlew eclipse命令:

这个过程需要下载依赖的 jar 包,比较耗时

4. Kafka 源码导入 IDEA 中

直接在 IDEA 中 点击 File -> open -> 选择 kafka源码包下的 core 文件夹和 clients 文件夹打开这两个项目即可,其中 core 项目是用 scala 写的,需要在 IDEA 中加入 scala-sdk,clients 项目是用 Java 写的,打开就可以正常阅读。

0 人点赞