kafka调试工具kafkacat的使用

时间:2021-10-28 01:17:57

一、 安装

kafkacat 是基于kafka C语言的librdkafka库的 kafka客户端,不依赖java,小巧轻便,支持主流系统。
在高版本的debain、Ubuntu下可以直接apt-get install kafkacat,maxos下可以用brew install kafkacat
也可以自己编译,也是非常简单(需要先安装好curl和 cmake)
apt-get install cmake
git  clone https://github.com/edenhill/kafkacat
cd kafkacat && ./bootstrap.sh

二、用法

1、查看kafka信息(kafka_broker表示kafka服务器的地址,下同)

kafkacat -L -b kafka_broker

2、消费者 

a、订阅所有消息
kafkacat -C -b kafkabroker -t topicname
b、读取制指定个数的消息(可以查看kafka里是否有消息)
kafkacat -C -b kafkabroker -t topicname -p 0 -o -个数 -e  

3、生产者

a、直接发送  按下enter键后,等待连接成功就可以发送消息了,ctrl+d 退出发送消息
kafkacat -b kafkabroker -t topic  -P
b、通过管道发送
cat msg.txt |  kafkacat -b kafka
broker -t topic  -P

4、转发消息 

可以通过管道把接收到的消息转发到生产者
kafkacat -C -b kafkabroker1 -t topic1 -e | kafkacat -P -b kafkabroker2 -t topic2

5、配置

kafkacat 使用的是librdkafka的配置,使用时可以通过 '-F'指定配置文件。
比如 SASL_PLAINTEXT登录,新建一个配置文件, 如 kafka.conf

security.protocol=SASL_PLAINTEXT
sasl.mechanisms=PLAIN
sasl.username=username
sasl.password=pwd

kafkacat -L -b kafka_broker -F kafka.conf