Kafka 命令行生产与消费工具
kcat(原名 kafkacat)是一个轻量的 Kafka 客户端,用来查看元数据、生产消息、消费消息和调试消费者组。它不依赖 JVM,适合在容器和跳板机上快速排查。
kcat -b broker1:9092 -L
kcat -b broker1:9092 -t app-events -P <<< '{"id":1}'
kcat -b broker1:9092 -t app-events -p 0 -o beginning -C
kcat -b broker1:9092 -t app-events -C -o -10 -e
kcat -b broker1:9092 -t app-events -C -f '%p %o %k %s\n'
kcat -b broker1:9092 -t app-events -G app-debug -C
kcat -b broker1:9092 -t app-events -C -J -o beginning -c 10
kcat -b broker1:9092 -t app-events -P -K: -k key1 - <<< 'value1'
SASL/TLS:
kcat -b broker1:9092 -t app-events -C \
-X security.protocol=SASL_SSL \
-X sasl.mechanism=PLAIN \
-X sasl.username=app \
-X sasl.password="$KAFKA_PASSWORD"
-P 是生产,-C 是消费;不指定时行为容易和预期相反。-b 是 bootstrap 地址,不是必须的 broker id;集群地址写错会一直重试。-G 消费不会提交 offset;重启后会按 -o 重新读。-o beginning 会从最早消息开始,可能拉出巨量数据;先加 -c 限制条数。-e 在读到当前末尾后退出;不加会一直阻塞等待新消息。-K 指定;默认格式下容易看错 key。kafka-topics — 主题管理kafka-consumer-groups — 消费者组查看