首页
学习
活动
专区
工具
TVP
发布

kafka源码阅读环境

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

软件版

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服务

2、kafka源码构建

从kafka官网上面下载kafka-1.0.0-src,解压,使用命令行进入kafka的根目录,使用gradle idea 命令进行构建,如果是eclipse工程请使用gradle eclipse命令。在构建过程中会从网上下载各种依赖包,时间会有点长,最终输出BUILD SUCCESSFUL字样,表示构建成功

3、idea 安装scala 插件

在 settings -》plugins->scala

4、配置、启动kafka

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

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

5、配置kafka的启动参数

kafka 服务端的入口类是kafka.Kafka,除了指定入口类,还需要指定server.properties配置文件所在位置,即在kafka源代码的config目录下

第一次启动时,idea会重新编译整个项目,编译完成后启动,

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_HOME%\bin\windows下面

执行

kafka-topics.bat –create –zookeeper 192.168.1.106:2181 –replication-factor 1 –partitions 1 –topic test

当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的工作流程了

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180603G034HB00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券