跳转至

Kafka 命令集

文档概览

  • 校验基准: Kafka 3.6.x 运维 CLI(bin/ 下脚本)
  • 配置变更在线生效见 kafka-configs.sh;Broker 静态配置见 Kafka 配置手册

集群与 Broker

查看 Broker 注册信息(ZK 模式)

# 在 ZK 上查看 broker ids(路径随 chroot 调整)
bin/zookeeper-shell.sh zk1:2181 ls /brokers/ids

动态 Broker 配置

# 描述 Broker 动态配置
bin/kafka-configs.sh --bootstrap-server broker:9092 \
  --entity-type brokers --entity-name 0 --describe

# 设置动态配置(示例:日志保留)
bin/kafka-configs.sh --bootstrap-server broker:9092 \
  --entity-type brokers --entity-name 0 \
  --alter --add-config log.retention.hours=168

Topic

kafka-topics.sh

# 创建 Topic
bin/kafka-topics.sh --bootstrap-server broker:9092 \
  --create --topic orders --partitions 6 --replication-factor 3

# 列出 Topic
bin/kafka-topics.sh --bootstrap-server broker:9092 --list

# 描述 Topic(分区/ISR/Leader)
bin/kafka-topics.sh --bootstrap-server broker:9092 \
  --describe --topic orders

分区重分配(扩容/迁移)

# 生成重分配计划 JSON 后执行
bin/kafka-reassign-partitions.sh --bootstrap-server broker:9092 \
  --reassignment-json-file reassign.json --execute

bin/kafka-reassign-partitions.sh --bootstrap-server broker:9092 \
  --reassignment-json-file reassign.json --verify

生产与消费

kafka-console-producer.sh / kafka-console-consumer.sh

# 生产消息
bin/kafka-console-producer.sh --bootstrap-server broker:9092 --topic orders

# 消费(从头)
bin/kafka-console-consumer.sh --bootstrap-server broker:9092 \
  --topic orders --from-beginning --group debug-consumer

消费组

kafka-consumer-groups.sh

# 列出消费组
bin/kafka-consumer-groups.sh --bootstrap-server broker:9092 --list

# 查看 lag
bin/kafka-consumer-groups.sh --bootstrap-server broker:9092 \
  --describe --group my-app

# 重置 offset(谨慎:生产需变更窗口)
bin/kafka-consumer-groups.sh --bootstrap-server broker:9092 \
  --group my-app --topic orders --reset-offsets --to-latest --execute

日志与磁盘

kafka-log-dirs.sh

# 查看各 Broker 日志目录占用与副本分布
bin/kafka-log-dirs.sh --bootstrap-server broker:9092 \
  --describe --topic-list orders

常用排查组合

场景 命令
消费 lag 升高 kafka-consumer-groups.sh --describe
ISR 收缩 kafka-topics.sh --describe
磁盘占用 kafka-log-dirs.sh --describe
动态调参 kafka-configs.sh --describe / --alter