欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > 【源码剖析】2-搭建kafka源码环境

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

2025/7/13 8:15:53 来源:https://blog.csdn.net/han__xuefeng/article/details/148571195  浏览:    关键词:【源码剖析】2-搭建kafka源码环境

在上篇文章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:9092log.dirs=Y:/kafka-logszookeeper.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源码剖析》

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词