【源码剖析】2-搭建kafka源码环境

发布于:2025-06-12 ⋅ 阅读:(17) ⋅ 点赞:(0)

在上篇文章kafka核心概念中,解释了kafka的核心概念,下面开始进行kafka源码编译。为什么学习源码需要进行源码编译呢,我认为主要有两点:

  • 可以进行debug,跟踪代码执行逻辑
  • 可以对源码改动,强化学习学习效果

安装软件列表

本文以Windows为例进行说明,需要安装的软件主要有

  • jdk-1.8
  • scala-2.10
  • gradle-3.1
  • zookeeper3.4.9
  • idea

安装jdk1.8

下载地址:https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html,下载后配置一下环境变量:

增加环境变量JAVA_HOME,值为E:\jdk-8

编辑环境变量Path,增加%JAVA_HOME%\bin

安装Scala

下载地址:https://www.scala-lang.org/files/archive/,使用此地址下载快很多,下载后配置一下环境变量:

增加环境变量SCALA_HOME,值为E:\scala-2.10.6

编辑环境变量Path,增加%SCALA_HOME%\bin

配置完成后打开终端输入scala -version

安装gradle

下载地址:https://mirrors.cloud.tencent.com/gradle/,下载后配置一下环境变量:

增加环境变量GRADLE_HOME,值为E:\gradle-3.1

编辑环境变量Path,增加%GRADLE_HOME%\bin

安装zookeeper

下载地址:https://archive.apache.org/dist/zookeeper/,可以不配置环境变量,在bin目录下直接点击zkServer.cmd,即可启动

kafka源码构建

下载源码

使用的源码版本为0.10.0.1,下载地址:https://archive.apache.org/dist/kafka/0.10.0.1/kafka-0.10.0.1-src.tgz

安装Scala插件

idea默认不支持Scala,需要在idea中安装Scala插件

配置启动kafka

log4j.properties

在kafka服务端使用log4j输出日志,启动前把config目录下的log4j.properties放到core/src/main/scala路径下

server.properties

server.properties是kafka的主要配置文件,修改以下3项即可

listeners = PLAINTEXT://your.host.name:9092

log.dirs=Y:/kafka-logs

zookeeper.connect=192.168.0.103:2181

配置idea

在运行设置中,进行如下的配置:

  • Main class : kafka.Kafka

  • Program arguments : config/server.properties

  • Working Directory : Y:\kafka

  • Classthpath : core
    在这里插入图片描述

验证

配置完成后,点击运行,即可启动kafka,可以通过编译好的kafka脚本去尝试连接kafka进行操作,下载一份编译好的kafka,https://archive.apache.org/dist/kafka/0.10.0.1/kafka_2.10-0.10.0.1.tgz,然后使用里面脚本进行操作。

Y:\kafka_2.10-0.10.1.1>bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test01
Created topic "test01".

Y:\kafka_2.10-0.10.1.1>bin\windows\kafka-topics.bat --zookeeper localhost:2181 --list
test01

创建成功表示编译后的代码启动成功。

参考书籍:《kafka源码剖析》