Kafka 核心技术与实战
胡夕
Apache Kafka Committer,老虎证券技术总监
52815 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 47 讲
开篇词 (1讲)
结束语 (1讲)
Kafka 核心技术与实战
15
15
1.0x
00:00/00:00
登录|注册

加餐 | 搭建开发环境、阅读源码方法、经典学习资料大揭秘

network包代码以及server包下的部分代码
coordinator包下的group包代码
controller包
log包
connect
streams
clients
core
推荐的书籍
作者的博客
Confluent公司维护的技术博客
StackOverflow
Kafka内部团队维护的文档
KIP
JIRA列表
官网
客户端clients包下的重点阅读内容
阅读顺序
重点关注的子目录
把Kafka源码工程导入到IDEA中
将Kafka源码编译打包成Jar文件
下载Gradle的Wrapper程序套件
下载Kafka的源码
安装Java和Gradle
开放讨论
小结
Kafka推荐学习资料
Kafka源码阅读方法
Kafka开发环境搭建
搭建开发环境、阅读源码方法、经典学习资料大揭秘
文章

该思维导图由 AI 生成,仅供参考

你好,我是胡夕。
截止到现在,专栏已经更新了 38 讲,你掌握得怎么样了呢?如果暂时掌握得不是很好,也没有关系,慢慢来,有问题记得在留言区留言,我们一起讨论。
今天,我们来聊点儿不一样的。我总结了 3 个讨论热度很高的话题,现在一一来为你“揭秘”。
如何搭建 Kafka 开发环境?很多人对于编译和调试 Kafka 饶有兴致,却苦于无从下手。今天我就给你完整地演示一遍搭建 Kafka 开发环境的过程。
如何阅读 Kafka 源码?我曾经在专栏第 1 讲提到过我自己阅读 Kafka 源码的经历,后来我收到很多留言,问我是如何阅读的,今天,我就跟你分享一些阅读 Kafka 源代码的比较好的法则或者技巧。
Kafka 的学习资料。幸运的是,我在这方面还是有过一些总结的,今天我会毫无保留地把资料全部分享给你。

Kafka 开发环境搭建

现在,我先来回答第 1 个问题:如何搭建 Kafka 开发环境。我以 IDEA 为例进行说明,Eclipse 应该也是类似的。

第 1 步:安装 Java 和 Gradle

要搭建 Kafka 开发环境,你必须要安装好 Java 和 Gradle,同时在 IDEA 中安装 Scala 插件。你最好把 Java 和 Gradle 环境加入到环境变量中。

第 2 步:下载 Kafka 的源码

确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

胡夕在专栏中分享了搭建Kafka开发环境、阅读Kafka源码的方法以及经典学习资料。他详细介绍了在IDEA中搭建Kafka开发环境的步骤,包括安装Java和Gradle、下载Kafka源码、下载Gradle的Wrapper程序套件以及编译打包Kafka源码成Jar文件。此外,他提供了阅读Kafka源码的方法,建议从core包开始,重点关注log、controller、coordinator和network等包下的重要类文件。此外,他还推荐了在阅读源码时结合Java调试,通过Debug模式深入了解Kafka中各个类的状态和保存信息。此外,他还分享了一些有价值的Kafka学习资料,包括官方文档、JIRA、KIP、Kafka内部团队维护的文档、StackOverflow、Confluent公司维护的技术博客以及一些推荐的书籍。这些方法和建议有助于读者快速了解Kafka的开发环境搭建和源码阅读方法,为他们提供了实用的技术指导。总的来说,本文为读者提供了全面的Kafka学习指南,涵盖了从搭建环境到深入阅读源码的各个方面,为Kafka技术学习者提供了宝贵的参考资料。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Kafka 核心技术与实战》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(34)

  • 最新
  • 精选
  • 每天晒白牙
    周六日写的Kafka服务端之网络层的源码分析 https://mp.weixin.qq.com/s/-VzDU0V8J2guNXwhiBEEyg

    作者回复: 赞~

    2019-09-10
    9
  • Hello world
    老师,想问您一个问题,producer是直连的kafka , kafka集群下线一台机器后(分片也已经迁移到其他服务器),producer就会报错一直连不上那台服务器,重启也会这样,现在我怀疑是producer拿了broker缓存的metadata数据,broker缓存的metadata数据可能会很长时间才会更新。现在有一个问题,kafka是否有一个接口可以去强制刷新broker的缓存呢

    作者回复: 如果出现这种情况,producer应该会自动刷新元数据的。不妨试试KafkaProducer.partitionsFor方法来强制刷新下

    2019-12-12
    4
  • Evan
    发现一个工具,不知道好不好用 https://gitee.com/newegg/KafkaCenter.git

    作者回复: 看着很不错

    2020-04-02
    3
  • dengy
    老师,最近发现由kafka topic+偏移量+分区组成的ID有重复,es使用这些重复ID的时候,会只保留最新的一条。请问如何使用kafka参数组成一个唯一的ID

    作者回复: 有重复说明是否存在重复消费的问题,本身就值得好好查一下。如果一定要唯一ID,引入UUID就可以了

    2019-09-20
    1
  • sonald
    跑./gradlew clean releaseTarGz其实会自动下载gradle吧。之前安装gradle似乎没有必要?

    作者回复: 推荐还是使用Gradle的wrapper

    2019-09-15
    1
  • 李晟
    老师,是否可以讲讲kafka connector的部署和设计 。

    作者回复: 嗯嗯,以后有机会讲下。

    2021-07-05
  • 有梦不难
    老师,文章中说的kafka开发环境是windows还是linux下的?我是用的是Linux环境的,还需要安装Gradle吗

    作者回复: Mac和Windows都可以。其实Linux也是可以的,Gradle需要安装

    2020-12-20
    2
  • lnj
    想问一个问题,有没有c或者c++的kafka项目?

    作者回复: librdkafka。可以看看https://github.com/edenhill/librdkafka

    2020-04-13
  • 老陈的空酒桶
    老师我的环境是利用filebeat把nginx的日志上传至kafka, kafka配置了简单的sasl plan但是filebeat总是报错,kafka message: client/metadata got error from broker while fetching metadata:%!(EXTRA *errors.errorString=EOF); 我查了好久 没查到原因,老师有什么好建议吗?

    作者回复: hmmm.... 可能是filebeat kafka客户端已知的问题,https://github.com/elastic/beats/issues/2626

    2020-04-03
  • Eric余浩
    本机是要安装 scala 环境的吧

    作者回复: 是的,安装一下吧:)

    2020-02-25
收起评论
大纲
固定大纲
Kafka 开发环境搭建
第 1 步:安装 Java 和 Gradle
第 2 步:下载 Kafka 的源码
显示
设置
留言
34
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部