kafka源码阅读环境

Posted 笨小孩撸代码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kafka源码阅读环境相关的知识,希望对你有一定的参考价值。

在开始分析kafka的源码之前,我们先要手动搭建kafka源码的调试环境,需要准备的软件有,java、scala、gradle、zookeeper、kafka、ide 
软件版

java:1.8.0_141
scala:2.11.4
gradle:4.7
zookeeper:3.4.6
kafka:1.0.0  
ide:idea 2017.1.5
OS:window7  64

1、安装: 
首先安装 jdk 、scala 、gradle。这里就不详细介绍了,这个网上应该很多说明。这个主要介绍一下window下面安装zookeeper。 
从zookeeper官网下载其二进制压缩包,之后解压缩,这里我们部署的是单机模式,因为主要是给kafka来使用, 
解压以后,将%ZOOKEEPER%\conf\zoo_sample.cfg文件复制一份,重命名为zoo.cfg。修改zoo.cfg配置文件,这里主要就是修改dataDir配置项,此配置项指向zookeeper存储数据的目录,其他配置可以不进行修改 
 
以上修改了以后,和java一样需要配置环境变量 
由于kafka使用依赖于zookeeper服务,在启动kafka之前,需要先使用zkServer命令,启动上文已经配置好的zookeeper服务 
kafka源码阅读环境

2、kafka源码构建 
从kafka官网上面下载kafka-1.0.0-src,解压,使用命令行进入kafka的根目录,使用gradle idea 命令进行构建,如果是eclipse工程请使用gradle eclipse命令。在构建过程中会从网上下载各种依赖包,时间会有点长,最终输出BUILD SUCCESSFUL字样,表示构建成功 
kafka源码阅读环境
3、idea 安装scala 插件 
在 settings -》plugins->scala 
kafka源码阅读环境

4、配置、启动kafka 
在kafka服务端使用log4j输出日志,启动前需要把log4j.properties配置文件放置到src/main/scala路径下,然后运行程序,这样才能正确输出日志信息,此log4j.properties文件可以从conf目录中获取 
kafka源码阅读环境 
kafka源码阅读环境

server.properties是kafka的主要配置文件,这里我们主要修改一下log.dirs,其他的配置文件后面在介绍 
kafka源码阅读环境

5、配置kafka的启动参数 
kafka 服务端的入口类是kafka.Kafka,除了指定入口类,还需要指定server.properties配置文件所在位置,即在kafka源代码的config目录下 
第一次启动时,idea会重新编译整个项目,编译完成后启动, 
kafka源码阅读环境
kafka源码阅读环境

6、验证 
为了验证上文配置的源码环境是否成功,可以使用kafka二进制包中自带的三个脚本进行验证,分布是kafka-topics用于创建topic,kafka-console-producer是一个命令行producer,kafka-console-consumer是一个命令行consumer 
首先使用kafka-topics.bat创建一个”test” topic其中的partition和replication-factor都为1

首先我们需要在kafka的源码路径上面执行 gradle jarAll,执行完成以后会出现BUILD SUCCESSFUL的字眼 
kafka源码阅读环境 
接下来进入到%KAFKA_HOME%\bin\windows下面 
执行 
kafka-topics.bat –create –zookeeper 192.168.1.106:2181 –replication-factor 1 –partitions 1 –topic test 
kafka源码阅读环境
当topic创建成功以后,启动2个命令行窗口,分别执行下面2行命令,一个作为生产者,另一个作为消费者 
kafka-console-producer.bat –broker-list 192.168.1.106:9092 –topic test 
kafka-console-consumer.bat –zookeeper 192.168.1.106:2181 –topic test 
启动完成以后,在命令行里面随便输入内容,可以在消费者命令行窗口中看到相应的消息,这就表明我们搭建的kafka源码环境可以正常运行了,安装完成之后,可以直接在IDE中进行debug分析kafka的工作流程了 
kafka源码阅读环境 


以上是关于kafka源码阅读环境的主要内容,如果未能解决你的问题,请参考以下文章

windows下kafka源码阅读环境搭建

聊聊 Kafka:编译 Kafka 源码并搭建源码环境

聊聊 Kafka:编译 Kafka 源码并搭建源码环境

本地idea配置kafka源码调试环境

源码分析Kafka之Producer

源码分析Kafka之Producer