Kafka2.0 源码阅读环境搭建

Kafka2.0 源码阅读环境搭建

工欲善其事必先利其器,在阅读Kafka源码之前,首先第一步得搭建源码阅读环境,选择合适的工具可以使我们的学习效率更好,在这里我选用Intellij Idea 作为源码阅读环境的IDEA环境。其次配套的环境及服务包括:

  • windows 10
  • Intellij Idea 2018.1
  • gradle 4.2
  • zookeeper 3.4.10
  • kafka 2.0
  • Java 1.8.0_181
使用git拉取kafka源码
git clone -b 2.0 https://github.com/apache/kafka.git
  • Note:使用 -b 指令 checkout 到 2.0 版本分支
添加slf-log4j binding

1.在build.gradle文件的dependencies中,在compile libs.slf4jApi下添加 libs.slf4jlog4j包
2.将config目录中的log4j。properties复制一份到core 项目 core\src\main\scala\log4j.properties 下,如果编译之后还是无法打印log信息,将文件在复制一份到core\out\production\classes\log4j.properties 目录下

启动kafka service 服务
  • 创建一个Application
  • Use classpath of module 为 core_main
  • Main class 为 kafka.Kafka
  • program arguments 为 config/server.properties
  • 运行Application

或者直接找到core模块中的 kafka.scala直接运行 main函数,然后在自动创建的Application中添加config/server.properties配置项即可

测试
  • 创建一个Application
  • Use classpath of module 为 core_main
  • Main class 为 kafka.admin.TopicCommand
  • program arguments 为 –list –zookeeper localhost:2181
  • 运行Application

同理,也可以使用上面方式,直接找到kafka.admin.TopicCommand类,运行,然后在填入自定义参数即可

如果在idea terminal中现实kafka中topic信息即表示Kafka2.0源码阅读环境搭建完毕

读者也可以尝试Producer-Kafka-Consumer,流程与上面差不多,负责的类分别是kafka.tools.ConsoleProducer和kafka.tools.ConsoleConsumer

Notes:在kafka2.0中,consumer不在通过zookpeer得到broker信息消费数据,直接使用–bootstrap-server localhost:9092 连接消费

Notes:如果运行报错not find class,勾选Application中的Include dependencies with “Provided” Scope

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值