Kafka 常用命令与运维速查
主题与分区
kafka-topics --bootstrap-server broker:9092 --list
kafka-topics --bootstrap-server broker:9092 \
--create --topic app-events --partitions 6 --replication-factor 3
kafka-topics --bootstrap-server broker:9092 --describe --topic app-events
kafka-topics --bootstrap-server broker:9092 \
--alter --topic app-events --partitions 12
kafka-topics --bootstrap-server broker:9092 --delete --topic app-events
生产与消费
kcat -b broker:9092 -t app-events -P <<< '{"id":1}'
kcat -b broker:9092 -t app-events -C -o beginning -c 10
kcat -b broker:9092 -t app-events -C -f '%p %o %k %s\n'
kcat -b broker:9092 -t app-events -G app-debug -C
消费组与 lag
kafka-consumer-groups --bootstrap-server broker:9092 --list
kafka-consumer-groups --bootstrap-server broker:9092 \
--describe --group app-worker
kafka-consumer-groups --bootstrap-server broker:9092 \
--describe --group app-worker --state
运维
kafka-configs --bootstrap-server broker:9092 \
--entity-type topics --entity-name app-events --describe
kafka-log-dirs --bootstrap-server broker:9092 --describe
kafka-leader-election --bootstrap-server broker:9092 \
--election-type preferred --all-topic-partitions
kafka-reassign-partitions --bootstrap-server broker:9092 \
--reassignment-json-file plan.json --execute
场景速查
| 目的 |
命令 |
| 查看 lag |
kafka-consumer-groups --describe |
| 查看 ISR |
kafka-topics --describe |
| 查看副本不足 |
--describe --under-replicated-partitions |
| 生产测试消息 |
kcat -P |
| 从最早消费 |
kcat -C -o beginning |
| 查看主题配置 |
kafka-configs --describe |
易错点
- 分区只能增加,不能减少;扩分区会改变 key 路由。
- 副本因子不能超过 broker 数量。
kcat -C 不加 -G 不会提交 offset;重启会重复消费。
-o beginning 可能拉出巨量消息;加 -c 限制。
- 删除主题需要 broker 开启
delete.topic.enable。
kafka-consumer-groups 的 lag 是估算值;结合消费速率看趋势。
- 生产环境避免用
latest 镜像和未固定版本的客户端。
相关命令
kafka-topics — 主题管理
kcat — 生产消费
kafka-broker — 服务端