一、简介
kafka是一种高吞吐量的分布式发布订阅消息系统。生产者发送消息到队列中,消费者消费其中的消息。
kafka-cli是一个python开发的极简消息查询工具,兼容python 2.6 /3.6 。
可以使用pip install kafka-cli
命令安装。
也可以直接从github.com/chenwumail/kafka-cli
下载源代码直接执行,源代码运行时需要用pip install kafka
安装依赖的kafka python客户端包。
二、查看全部topic
代码语言:javascript复制kafka-cli 127.0.0.1:9092
三、查看topic的partition,以及partition的最小、最大offset
代码语言:javascript复制kafka-cli 127.0.0.1:9092 topic1
四、查询partition中offset处的消息
代码语言:javascript复制kafka-cli 127.0.0.1:9092 topic1 0 0
命令行中第一个0是指partition,第二个0是offset,省略了limit,默认只显示1条消息。
代码语言:javascript复制kafka-cli 127.0.0.1:9092 topic1 0 5 3
limit为3,显示offset=5开始的3条消息。
五、查询指定时间开始的消息
代码语言:javascript复制kafka-cli 127.0.0.1:9092 topic1 0 '2019-08-08 02:01:01' 5
第一个0是partition,中间的时间表示从该时间开始的消息,后面的5是limit,表示最多显示5条消息
六、向指定topic发送一条消息
代码语言:javascript复制kafka-cli 127.0.0.1:9092 topic1 11 send "key-first" "hello jack!"
11表示string类型的key, string类型的value,key是"key-first", value是"hello jack!"
代码语言:javascript复制key-value-type: 0 none, 1 string, 2 int, key-type * 10 value-type (11 string key and value, 1 only string value, 20 only int key)
kafka-cli 127.0.0.1:9092 topic1 2 send 999
2表示key为none,value是int类型的999。
七、获取帮助
代码语言:javascript复制kafka-cli
不带任何参数,会显示帮助信息。另外,在命令行参数个数出错时,也会显示一行错误信息,再在后面显示帮助信息。