一、 安裝
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 kafkabroker -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