前言
通过前面 7 篇文章的介绍,小伙伴们应该对 Kafka 运行工作原理有一个相对比较清晰的认识了。为了提高平时的工作效率,帮助我们快速定位一些线上问题,比如查看部分 Partition 堆积机器 IP 等操作,这篇文章总结了一些平时常用到的一些 Kafka 命令及常用配置,方便日后查阅(该文章中提到的相关配置会持续更新)。
文章概览
常用脚本及命令总结。
常用配置及说明。
常用命令总结
一. kafka-topic.sh
脚本相关常用命令,主要操作 Topic。
创建名字为 "op_log" 的 Topic。
$ bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partition 3 --topic op_log
查看指定 ZK 管理的 Topic 列表
$ bin/kafka-topics.sh --list --zookeeper localhost:2181
查看指定 Topic 的详细信息,包括 Partition 个数,副本数,ISR 信息
$ bin/kafka-topics.sh --zookeeper localhost:2181 --describe op_log
修改指定 Topic 的 Partition 个数。注意:该命令只能增加 Partition 的个数,不能减少 Partition 个数,当修改的 Partition 个数小于当前的个数,会报如下错误:
Error while executing topic command : The number of partitions for a topic can only be increased
$ bin/kafka-topics.sh --alter --zookeeper localhost:2181 --topic op_log1 --partition 4
删除名字为 "op_log" 的 Topic。注意如果直接执行该命令,而没有设置 delete.topic.enable 属性为 true 时,是不会立即执行删除操作的,而是仅仅将指定的 Topic 标记为删除状态,之后会启动后台删除线程来删除。
$ bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic op_log
二. kafka-consumer-groups.sh
脚本常用命令,主要用于操作消费组相关的。
查看消费端的所有消费组信息(ZK 维护消费信息)
$ bin/kafka-consumer-groups.sh --zookeeper localhost:2181 --list
查看消费端的所有消费组信息(Kafka 维护消费信息)
$ bin/kafka-consumer-groups.sh --new-consumer --bootstrap-server localhost:9092 --list
查看指定 group 的详细消费情况,包括当前消费的进度,消息积压量等等信息(ZK 维护消息信息)
$ bin/kafka-consumer-groups.sh --zookeeper localhost:2181 --group console-consumer-1291 --describe
查看指定 group 的详细消费情况,包括当前消费的进度,消息积压量等等信息(Kafka 维护消费信息)
$ bin/kafka-consumer-groups.sh --new-consumer --bootstrap-server localhost:9092 --group mygroup --describe
三. kafka-consumer-offset-checker.sh
脚本常用命令,用于检查 OffSet 相关信息。(注意:该脚本在 0.9 以后可以使用 kafka-consumer-groups.sh 脚本代替,官方已经标注为 deprecated 了)
查