想看kafka源码,跟我一起做 | kafka源码环境搭建原创
“全文共计2295字,预计阅读时间7分钟
大家好,我是tin,这是我的第22篇原创文章
kafka是一个高吞吐、低延时的消息中间件。采用Java和scala语言编写,它有着非常多的优秀设计。
要想学习讨论kafka的优秀理念,源码阅读必不可少。
今天我们开始搭建kafka环境。
JDK
kafka服务器端代码是用scala语言编写的,但同样会被编译为class文件,运行在JVM上。
JDK的安装非常简单,现在我们用的比较多的也是JDK8吧,有JDK8即可。
下面是JDK的下载地址,下载机型安装:
https://www.oracle.com/java/technologies/downloads/#java8
这里我们安装scala的2.3.18版本,分不同的操作系统,自行选择下载:
地址:https://www.scala-lang.org/download/2.13.8.html
下载完成后进行解压,解压后需进行环境变量配置,如果是linux系统,可以通过如下命令设置:
vim /etc/profile
# 配置scala安装路径及环境变量
SCALA_HOME={scala解压包路径,比如:Users/ericli/small-workshop/workspace/scala/scala-2.13.8}
export SCALA_HOME
export PATH=$PATH:$SCALA_HOME/bin
# 重新加载配置文件,使scala配置生效
source /etc/profile
# 验证scala环境是否生效
scala -version
gradle
kafka代码通过gradle管理的,目前gradle的最新release版本是v7.4.2。
链接地址:https://gradle.org/releases/
下载完成后,同样,进行解压,解压后再设置环境变量配置,比如如果是linux系统,可以通过如下命令设置:
vim /etc/profile
# 配置gradle安装路径及环境变量
GRADLE_HOME={gradle解压包路径,比如:Users/ericli/small-workshop/tools/gradle-7.4.2}
export GRADLE_HOME
export PATH=$PATH:$GRADLE_HOME/bin
# 重新加载配置文件,使gradle配置生效
source /etc/profile
# 验证gradle环境是否生效
gradle -v
安装成功后,可以查看gradle的版本信息。
这里补一句,gradle和maven同作为Java项目自动构建工具,gradle似乎更优秀一些(虽然我们很多项目还是用的maven)。
从代码简洁上来说,gradle也是比maven更让人满意。
gradle三行代码搞定的事情:
dependencies {
compile('org.springframework:spring-core:2.5.6')
}
maven需要七行:
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>2.5.6</version>
</dependency>
</dependencies>
kafka源码
安装完JDK、scala、gradle等依赖后,我们就可以正式开始搭建kafka的源码环境了。
1. 拉取源码库
kafka开源项目库:
https://github.com/apache/kafka.git
目前kafka最新版本是3.2,我们下载3.2版本的源码。
可以考虑 Fork 下开源库,自己读源码会有一些自己的理解,加一些笔记,Fork出来的自己的仓库,方便自由的提交
下载完成后,切到3.2.0版本:
IDEA打开kafka源码包,第一步要做的就是修改build.gradle文件。
因为 gradle支持使用maven依赖,所以我们可以使用阿里云的maven镜像 https://maven.aliyun.com/nexus/content/groups/public/。如下图所示:
kafka真的太大了,依赖包也很多,加阿里镜像可以加快拉取速度。
2. 安装scala插件
idea并未内置scala插件,所以需要去下载。
打开core包,然后在scala目录下找到Kafka .scala文件,会看到 IDEA 调试 "Plugins supporting *.scala files found",我们点击"install plugins"进行安装。
安装完成插件,重启idea即生效。
除此之外,在gradle.properties文件中把scalaVersion设置为本地安装的scala版本:
3. 启动kafka broker
Debug 运行 kafka.scala 类,如下图:
但是,这个时候是启动不起来的,报错如下:
我们需要修改 Kafka 启动类,设置配置文件。操作如下图所示:
再次启动main函数:
到此,kafka启动成功!
结语
我是tin,一个在努力让自己变得更优秀的普通工程师。自己阅历有限、学识浅薄,如有发现文章不妥之处,非常欢迎加我提出,我一定细心推敲并加以修改。
看到这里请安排个“三连”(分享、点赞、在看)再走吧,坚持创作不容易,你的正反馈是我坚持输出的最强大动力,谢谢!
最后别忘了关注我哦!⏬⏬⏬