Kafka 常用指令大全
📌 一、Topic 管理
| 命令 | 功能 | 示例 |
|---|---|---|
| 创建 Topic | 指定分区和副本数 | kafka-topics.sh --create --bootstrap-server localhost:9092 --topic test --partitions 3 --replication-factor 2 |
| 查看 Topic 列表 | 列出所有 Topic | kafka-topics.sh --bootstrap-server localhost:9092 --list |
| 查看 Topic 详情 | 显示分区、副本分布 | kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic test |
| 增加分区数 | 仅支持增加(不可减少) | kafka-topics.sh --alter --bootstrap-server localhost:9092 --topic test --partitions 5 |
| 删除 Topic | 需配置 delete.topic.enable=true | kafka-topics.sh --bootstrap-server localhost:9092 --delete --topic test |
注意:删除 Topic 后需手动清理 Zookeeper 元数据(路径
/brokers/topics/[topic])及磁盘日志文件(log.dirs目录)。
📡 二、生产者与消费者操作
| 命令 | 功能 | 示例 |
|---|---|---|
| 控制台生产者 | 实时发送消息 | kafka-console-producer.sh --bootstrap-server localhost:9092 --topic test |
| 控制台消费者 | 消费消息(支持历史数据) | kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning |
| 指定消费组 | 绑定消费者组 | kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --group my-group |
👥 三、消费者组管理
| 命令 | 功能 | 示例 |
|---|---|---|
| 查看消费组列表 | 列出所有活跃消费组 | kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list |
| 查看消费进度 | 显示 Lag(未消费消息数) | kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group my-group --describe |
| 重置 Offset | 重设消费位点 | kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group my-group --reset-offsets --to-earliest --topic test --execute |
| 删除消费组 | 移除消费组元数据 | kafka-consumer-groups.sh --bootstrap-server localhost:9092 --delete --group my-group |
输出字段说明:
CURRENT-OFFSET:当前消费进度LOG-END-OFFSET:最新消息位点LAG:未消费消息数(LOG-END-OFFSET - CURRENT-OFFSET)
⚙️ 四、集群运维与监控
| 命令 | 功能 | 示例 |
|---|---|---|
| 查询分区 Offset 范围 | 获取最小/最大位点 | kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic test --time -2(最小)--time -1(最大) |
| Leader 副本均衡 | 优化分区负载 | kafka-preferred-replica-election.sh --bootstrap-server localhost:9092 |
| 查看日志文件内容 | 解析物理存储日志 | kafka-run-class.sh kafka.tools.DumpLogSegments --files 000000000000.log --print-data-log |
| 压测工具 | 测试吞吐量 | kafka-producer-perf-test.sh --topic test --num-records 100000 --record-size 1000 --throughput 2000 --producer-props bootstrap.servers=localhost:9092 |
⚠️ 关键注意事项
-
版本差异:
- 老版本(依赖 ZooKeeper):使用
--zookeeper localhost:2181 - 新版本(推荐):使用
--bootstrap-server localhost:9092
- 老版本(依赖 ZooKeeper):使用
-
Topic 命名规范:
- 避免使用
.或_前缀,防止与内部 Topic 冲突
- 避免使用
-
彻底删除 Topic:
- 需同时清理 Zookeeper 元数据和磁盘日志文件
-
消费者组管理:
- 重置 Offset 后需重启消费者生效
- 定期监控 Lag 防止消息积压
完整命令参考:
Apache Kafka 官方文档
829

被折叠的 条评论
为什么被折叠?



