kafka源码终于启动成功

12 篇文章 0 订阅
1 篇文章 0 订阅

**本文首发于公众号【看点代码再上班】,建议关注公众号,及时阅读最新文章。**

一定要看的原文:想看kafka源码,跟我一起做 | kafka源码环境搭建

大家好,我是tin,这是我的第22篇原创文章

kafka是一个高吞吐、低延时的消息中间件。采用Java和scala语言编写,它有着非常多的优秀设计。

要想学习讨论kafka的优秀理念,源码阅读必不可少。

今天我们开始搭建kafka环境。

目录

一、JDK

二、scala

三、gradle

四、kafka源码

1. 拉取源码库

2. 安装scala插件

3. 启动kafka broker

五、结语


一、JDK

kafka服务器端代码是用scala语言编写的,但同样会被编译为class文件,运行在JVM上。

JDK的安装非常简单,现在我们用的比较多的也是JDK8吧,有JDK8即可。

下面是JDK的下载地址,下载机型安装:

https://www.oracle.com/java/technologies/downloads/#java8

二、scala

这里我们安装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,一个在努力让自己变得更优秀的普通工程师。自己阅历有限、学识浅薄,如有发现文章不妥之处,非常欢迎加我提出,我一定细心推敲并加以修改。

看到这里请安排个“三连”(分享、点赞、在看)再走吧,坚持创作不容易,你的正反馈是我坚持输出的最强大动力,谢谢!

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值