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

31 | 常见工具脚本大汇总

Kafka的测试框架
管理和运维ZooKeeper
测试生产者和消费者功能
重设位移,重新消费数据
启动和停止Kafka Broker进程
执行任何带main方法的Kafka类
主题管理操作
执行分区副本迁移以及副本文件路径迁移
执行Preferred Leader选举
实现Kafka集群间的消息同步
查询各个Broker上的各个日志路径的磁盘占用情况
查看Kafka消息文件的内容
用于删除Kafka的分区消息
管理Delegation Token的脚本
重设消费者组位移
生产者和消费者的性能测试工具
生产者和消费者的脚本
参数配置和动态Broker参数
验证不同Kafka版本之间服务器和客户端的适配性
用于设置Kafka权限
Kafka Connect组件的启动脚本
Linux平台下的标准SHELL脚本
Windows平台下的BAT批处理文件
30个SHELL脚本
trogdor
zookeeper开头的脚本
kafka-verifiable-producer和kafka-verifiable-consumer
kafka-streams-application-reset
kafka-server-start和kafka-server-stop
kafka-run-class
kafka-topics
kafka-reassign-partitions
kafka-preferred-replica-election
kafka-mirror-maker
kafka-log-dirs
kafka-dump-log
kafka-delete-records
kafka-delegation-tokens
kafka-consumer-groups
kafka-producer-perf-test和kafka-consumer-perf-test
kafka-console-consumer和kafka-console-producer
kafka-configs
kafka-broker-api-versions
kafka-acls
connect-standalone和connect-distributed
命令行脚本概览
Kafka常见工具脚本

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

你好,我是胡夕。今天我要跟你分享的主题是:Kafka 常见的脚本汇总。

命令行脚本概览

Kafka 默认提供了很多个命令行脚本,用于实现各种各样的功能和运维管理。今天我以 2.2 版本为例,详细地盘点下这些命令行工具。下图展示了 2.2 版本提供的所有命令行脚本。
从图中我们可以知道,2.2 版本总共提供了 30 个 SHELL 脚本。图中的 windows 实际上是个子目录,里面保存了 Windows 平台下的 BAT 批处理文件。其他的.sh 文件则是 Linux 平台下的标准 SHELL 脚本。
默认情况下,不加任何参数或携带 --help 运行 SHELL 文件,会得到该脚本的使用方法说明。下面这张图片展示了 kafka-log-dirs 脚本的调用方法。
有了这些基础的了解,我来逐一地说明这些脚本的用途,然后再给你详细地介绍一些常见的脚本。
我们先来说说 connect-standalone 和 connect-distributed 两个脚本。这两个脚本是 Kafka Connect 组件的启动脚本。在专栏第 4 讲谈到 Kafka 生态时,我曾说过社区提供了 Kafka Connect 组件,用于实现 Kafka 与外部世界系统之间的数据传输。Kafka Connect 支持单节点的 Standalone 模式,也支持多节点的 Distributed 模式。这两个脚本分别是这两种模式下的启动脚本。鉴于 Kafka Connect 不在我们的讨论范围之内,我就不展开讲了。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

Kafka常见工具脚本是Kafka提供的命令行脚本,用于实现各种功能和运维管理。本文详细介绍了Kafka 2.2版本提供的30个SHELL脚本,包括用途和调用方法。其中包括Kafka Connect组件的启动脚本、权限设置脚本、版本适配性验证脚本、参数配置脚本、生产者和消费者的性能测试工具脚本等。此外,还介绍了一些管理和运维ZooKeeper的脚本以及Kafka的测试框架脚本。重点介绍了生产消息和消费消息的操作方法。通过本文,读者可以快速了解Kafka常见工具脚本的用途和操作方法,为更好地利用这些脚本提供了基础认知。 文章还介绍了一些常见的Kafka工具脚本的使用方法,包括测试生产者和消费者性能的脚本,查看主题消息总数的脚本,查看消息文件数据的脚本以及查询消费者组位移的脚本。这些工具脚本可以帮助读者更好地了解和管理Kafka集群,提供了丰富的操作命令和技术细节。同时,文章还提醒读者随着Kafka版本的变迁,这些命令的用法可能会发生变化,建议在具体使用时详细阅读它们的Usage说明。 总的来说,本文通过介绍Kafka常见工具脚本和它们的使用方法,为读者提供了全面的Kafka运维管理工具,帮助读者更好地理解和操作Kafka集群,同时也提醒读者随时关注Kafka版本变化可能带来的命令用法变化。

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

全部留言(26)

  • 最新
  • 精选
  • 玉剑冰锋
    要说坑遇到两个,这两个坑都是留言提问老师帮忙解答,非常感谢!第一个就是数据量过大导致重启单台kafka时间近一个小时才能恢复,通过调大num.recovery.threads.per.data.dir解决;第二个就是分区迁移,出现in progress或者failed状态,通过zk删除/controller来解决,测试环境测试没问题,生产出现同样问题,但是担心大量分区重新选举leader,所以一直没有试,不知道老师还有没有其他好办法

    作者回复: 1. 第一个办法挺好的;2. 删除/controller有点狠,不如删除/admin/reassign_partitions

    2019-08-13
    38
  • What for
    请问老师查看主题分区消息总数 run-class 脚本中的 --time 参数,-1 和 -2 分别代表什么意思?还有其他的取值么?谢谢!

    作者回复: 没有其他取值了。-1表示latest,-2表示earliest

    2019-08-31
    2
    11
  • cricket1981
    broker-list和bootstrap-servers参数感觉用得很混乱啊,有什么规律吗?能否统一一下?

    作者回复: 嗯嗯,确实是。因为是不同的人写的。你可以提一个KIP,然后把它们统一一下:)

    2019-08-13
    8
  • cricket1981
    client id, consumer id, consumer group id这几个id作用和区别是什么?

    作者回复: client id 主要用于区分JMX指标和日志中的不同consumer; consumer id 指的是member id,目前是Kafka自动生成的,对用户意义不大;group id是表示consumer group组id的,非常重要,必须要指定。

    2019-08-13
    7
  • 蒙开强
    老师,你好,这个kafka的社区从哪里可以看呢,有时候看官网没有详细说明,比如我在官网看kafka幂等性,上面只有参数设定,并没有详细说明

    作者回复: 主要是邮件组。

    2019-08-13
    3
    3
  • Geek_bb
    副本是一个消息还是多个消息打包? 这个问题困扰了很久,没有看到有提到,据我所知gemfire就是副本就是多个record,这样能够减少传输大小。 希望得到老师的解答。谢谢

    作者回复: 副本是一个commit log,里面保存了多条消息。

    2020-05-23
    2
  • Geek_edc612
    老师,我最近线上集群遇到了一个奇怪的情况,部分topic设置的是3副本,但是所有分区都是只有一个isr,不知道这种情况是什么原因导致的?

    作者回复: 确认下broker是否启动成功了吧

    2019-08-14
    1
  • 18923814485
    kafka-broker-api-versions怎么知道现在的各个请求是哪个版本,比如图中给出的是2.1和1.1版本的客户端支持的produce请求的版本,但是实际使用过程中,怎么判断当前client和server是处于不兼容的状态?

    作者回复: 可以看下具体jar包的版本

    2021-12-14
  • Geek_388a76
    老师,最近项目用的kafka是0.11.0.3版本的,遇到一个问题: 在生产集群使用/kafka/bin/kafka-consumer-groups.sh --bootstrap-server master1:9092,master2:9092 --list这个命令没办法获取到消费者组 测试环境单机版又可以获取到, 请问下这是因为集群的原因吗? 项目是storm结合kafka的,kafka作为storm的spout,还是困惑这个命令使用是限制storm的api还是说环集群环境没效的原因。 非常感谢!

    作者回复: 你先看看是不是用了老版本的consumer,那么需要使用--zookeeper来查询位移

    2021-05-11
  • 雄鹰
    老师您好,我用的kafka是2.3.0版本,用 kafka-producer-perf-test.sh测试生产者的性能基准,请问这个版本还区分同步和异步的方式吗?在网上查了一下,有资料说新版本的都是异步的了,不再区分同步和异步?请老师帮忙确认一下,谢谢!

    作者回复: 都是异步的,不区分同步异步

    2020-11-13
收起评论
显示
设置
留言
26
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部