当前位置:   article > 正文

kafka源码终于启动成功_kafka源码是java还是scala

kafka源码是java还是scala

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

一定要看的原文:想看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系统,可以通过如下命令设置:

  1. vim /etc/profile
  2. # 配置scala安装路径及环境变量
  3. SCALA_HOME={scala解压包路径,比如:Users/ericli/small-workshop/workspace/scala/scala-2.13.8}
  4. export SCALA_HOME
  5. export PATH=$PATH:$SCALA_HOME/bin
  6. # 重新加载配置文件,使scala配置生效
  7. source /etc/profile
  8. # 验证scala环境是否生效
  9. scala -version

三、gradle

kafka代码通过gradle管理的,目前gradle的最新release版本是v7.4.2。

链接地址:https://gradle.org/releases/

下载完成后,同样,进行解压,解压后再设置环境变量配置,比如如果是linux系统,可以通过如下命令设置:

  1. vim /etc/profile
  2. # 配置gradle安装路径及环境变量
  3. GRADLE_HOME={gradle解压包路径,比如:Users/ericli/small-workshop/tools/gradle-7.4.2}
  4. export GRADLE_HOME
  5. export PATH=$PATH:$GRADLE_HOME/bin
  6. # 重新加载配置文件,使gradle配置生效
  7. source /etc/profile
  8. # 验证gradle环境是否生效
  9. gradle -v

安装成功后,可以查看gradle的版本信息。

这里补一句,gradle和maven同作为Java项目自动构建工具,gradle似乎更优秀一些(虽然我们很多项目还是用的maven)。

从代码简洁上来说,gradle也是比maven更让人满意。

gradle三行代码搞定的事情:

  1. dependencies {
  2. compile('org.springframework:spring-core:2.5.6')
  3. }

maven需要七行:

  1. <dependencies>
  2. <dependency>
  3. <groupId>org.springframework</groupId>
  4. <artifactId>spring-core</artifactId>
  5. <version>2.5.6</version>
  6. </dependency>
  7. </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,一个在努力让自己变得更优秀的普通工程师。自己阅历有限、学识浅薄,如有发现文章不妥之处,非常欢迎加我提出,我一定细心推敲并加以修改。

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

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/754104
推荐阅读
相关标签
  

闽ICP备14008679号