3-Kafka常用指令

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

⚠️ 关键注意事项

  1. 版本差异

    • 老版本(依赖 ZooKeeper):使用 --zookeeper localhost:2181
    • 新版本(推荐):使用 --bootstrap-server localhost:9092
  2. Topic 命名规范

    • 避免使用 ._ 前缀,防止与内部 Topic 冲突
  3. 彻底删除 Topic

    • 需同时清理 Zookeeper 元数据和磁盘日志文件
  4. 消费者组管理

    • 重置 Offset 后需重启消费者生效
    • 定期监控 Lag 防止消息积压

完整命令参考
Apache Kafka 官方文档

你可能感兴趣的:(kafka,分布式)