Kafka核心技术与实战
胡夕
人人贷计算平台部总监,Apache Kafka Contributor
立即订阅
8408 人已学习
课程目录
已完结 46 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 为什么要学习Kafka?
免费
Kafka入门 (5讲)
01 | 消息引擎系统ABC
02 | 一篇文章带你快速搞定Kafka术语
03 | Kafka只是消息引擎系统吗?
04 | 我应该选择哪种Kafka?
05 | 聊聊Kafka的版本号
Kafka的基本使用 (3讲)
06 | Kafka线上集群部署方案怎么做?
07 | 最最最重要的集群参数配置(上)
08 | 最最最重要的集群参数配置(下)
客户端实践及原理剖析 (14讲)
09 | 生产者消息分区机制原理剖析
10 | 生产者压缩算法面面观
11 | 无消息丢失配置怎么实现?
12 | 客户端都有哪些不常见但是很高级的功能?
13 | Java生产者是如何管理TCP连接的?
14 | 幂等生产者和事务生产者是一回事吗?
15 | 消费者组到底是什么?
16 | 揭开神秘的“位移主题”面纱
17 | 消费者组重平衡能避免吗?
18 | Kafka中位移提交那些事儿
19 | CommitFailedException异常怎么处理?
20 | 多线程开发消费者实例
21 | Java 消费者是如何管理TCP连接的?
22 | 消费者组消费进度监控都怎么实现?
深入Kafka内核 (5讲)
23 | Kafka副本机制详解
24 | 请求是怎么被处理的?
25 | 消费者组重平衡全流程解析
26 | 你一定不能错过的Kafka控制器
27 | 关于高水位和Leader Epoch的讨论
管理与监控 (12讲)
28 | 主题管理知多少?
29 | Kafka动态配置了解下?
30 | 怎么重设消费者组位移?
31 | 常见工具脚本大汇总
32 | KafkaAdminClient:Kafka的运维利器
33 | Kafka认证机制用哪家?
34 | 云环境下的授权该怎么做?
35 | 跨集群备份解决方案MirrorMaker
36 | 你应该怎么监控Kafka?
37 | 主流的Kafka监控框架
38 | 调优Kafka,你做到了吗?
39 | 从0搭建基于Kafka的企业级实时日志流处理平台
高级Kafka应用之流处理 (3讲)
40 | Kafka Streams与其他流处理平台的差异在哪里?
41 | Kafka Streams DSL开发实例
42 | Kafka Streams在金融领域的应用
结束语 (1讲)
结束语 | 以梦为马,莫负韶华!
特别放送 (2讲)
加餐 | 搭建开发环境、阅读源码方法、经典学习资料大揭秘
用户故事 | 黄云:行百里者半九十
Kafka核心技术与实战
登录|注册

31 | 常见工具脚本大汇总

胡夕 2019-08-13
你好,我是胡夕。今天我要跟你分享的主题是: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/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《Kafka核心技术与实战》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(16)

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

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

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

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

    2019-08-31
    1
  • 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
    1
  • 丁丁历险记
    where there is a shell there is a way
    2019-12-08
  • 达文西
    发现后面的课程简单很多( •̀ ω •́ )y
    2019-11-26
  • 注定非凡
    2.2版本提供了30多个Shell脚本
    (1):connect-standalone:支持kafka Connect组件支持单节点Standalone模式
    (2):connect-distributed:支持多节点的Distributed模式。

    (3):kafka-acls:用于设置Kafka权限,如设置哪些用户可以访问哪些主题之类的权限。
    (4):kafka-broker-api-versions:主要目的是验证不同Kafka版本之间服务器和客户端的适配性。
    (5):kafka-configs:用于配置管理

    (6):kafka-console-consumer:
    (7):kafka-console-producer:

    (8):kafka-producer-perf-test和kafka-consumer-perf-test :用于生产者和消费者的性能测试

    (9):kafka-consumer-groups:消费者位移时多有涉及
    (10):kafka-delegation-tokens:管理Delegation Token的,基于Delegation Token的认证是一种轻量级的认证机制,补充了现有的SASL认证机制。

    (11):kafka-delete-records:用于删除Kafka的分区消息。
    (12):kafka-dump-log:能够查看kafka消息文件的内容,包括消息的各种元数据信息
    (13):kafka-log-dirs:可以帮助查询各个Broker上的各个日志路径的磁盘占用情况
    (14):kafka-mirror-maker:可以帮助实现kafka集群间消息同步
    (15):kafka-preferred-replica-election:执行Preferred Leader选举。他可以为指定的主题执行“换Leader”的操作。
    (16):kafka-reassign-partitions:用于执行分区副本迁移以及副本文件路径迁移
    (17):kafka-topics:所有主题管理操作,都是有该脚本来实现。
    (18):kafka-run-class:可以用这个脚本执行任何带main方法的Kafka类。

    (19):kafka-server-start和kafka-server-stop:启动和停止Kafka Broker进程
    (20):kafka-streams-application-reset:用来给kafka-Streams应用程序重试位移,以便重新消费数据。

    (21):kafka-verifiabel-producer和kafka-verifiable-consumer是用来测试生产者和消费者功能的。

    (22):zookeeper开头的脚本是用来管理和运维Zookeeper的。
    2019-11-12
  • XThundering
    Error: Exception thrown by the agent:java.rmi.server.ExportException:Port alread in use,出现这个Exception,kafka 版本号2.2.1

    作者回复: 端口已被占用,查一下吧

    2019-09-25
  • Gao
    老师,我在使用 kafka-console-consumer 消费一个主题时会出现没有任何输出的情况,但是如果通过--partition 指定消费该主题的某个分区,就能够成功消费到消息,这种情况您遇到过吗

    作者回复: 你是否指定了group.id呢?

    2019-09-20
    1
  • godtrue
    打卡
    1:默认情况下,不加任何参数或携带 --help 运行 SHELL 文件,会得到该脚本的使用方法说明。
    这个比较有意思,各种命令脚本都可以先使用这钟方式,查看一下具体的使用说明。

    2:重点脚本功能
    2-1:kafka-console-producer——生产消息
    2-2:kafka-console-consumer——消费消息
    2-3:kafka-producer-perf-test——测试生产者性能
    2-4:kafka-consumer-perf-test——测试消费者性能
    2-5:kafka-dump-log——查看消息日志的具体内容
    2-6:kafka-consumer-groups——查看消费者组位移
    2019-08-19
  • wgcris
    老师,你好,我想请教一下,关于Kafka pagecache的优化,目前社区有好的解决方案吗?

    作者回复: 嗯嗯,其实也不需要太精细化的优化,给pagecache越大越好就行了

    2019-08-18
    1
  • xiaoniu
    老师,你好,kafka中有没有比较好用的延时消费操作,目前工作中,很多kafka数据不能直接立刻消费,而是要等几十秒(依赖第三方数据到位后),才能消费。

    作者回复: 目前只能依赖应用自行实现

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

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

    2019-08-14
  • 我来也
    晚上才有时间看专栏。
    今天白天就花在这些脚本上一个多小时吧。
    kafka-consumer-groups.sh —help 居然没有提示。
    好像是 kafka 2.11的(不太确定了)
    由于配置了kafka账号验证的信息,导致涉及到kafka的网上的命令都自信不成功,zookeeper的可以成功。
    返回的失败就是timeout,自己也猜测可能跟权限相关。
    想看下参数帮助也没有,最后花了近个把小时才在网上找到参数,填一个配置文件。
    哎,自己解决问题起来太慢了。
    2019-08-14
  • 大力水手
    retention.ms 保留时长有脚本吗?

    作者回复: 你是说设置这个参数吗?可以使用kafka-configs脚本

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

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

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

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

    2019-08-13
    2
收起评论
16
返回
顶部