kafka的相关操作脚本

总结最近用到的kafka相关命令和脚本。

1、创建Topic
./kafka-topics.sh –zookeeper cc13-141:2182 –topic mytopic –replication-factor 1 –partitions 1 –create

2、Topic列表
./kafka-topics.sh –zookeeper cc13-138:2181 –list

3、创建生产者
./kafka-console-producer.sh –broker-list cc13-141:9092 –topic mytopic

4、创建消费者
./kafka-console-consumer.sh –zookeeper c13-138:2181 –topic mytopic
–from-beginning 每次都是从开始位置消费,在生产环境下不建议这样使用。

5、查看指定topic
./kafka-topics.sh –describe –zookeeper c13-138:2181 –topic mytopic

6、删除topic
./kafka-topics.sh –delete –zookeeper c13-138:2181–topic mytopic

7、显示出Consumer的Group、Topic、分区ID、分区对应已经消费的Offset、logSize大小,Lag以及Owner等信息。
使用脚本:kafka-consumer-offset-checker.sh
./kafka-consumer-offset-checker.sh –zookeeper c13-138:2181,c13-139:2181,c13-141:2181 –topic mytopic –group xb_id –broker-info

8、有时候我们需要验证日志索引是否正确,或者仅仅想从log文件中直接打印消息。
使用脚本:kafka-run-class.sh
./kafka-run-class.sh kafka.tools.DumpLogSegments
./kafka-run-class.sh kafka.tools.DumpLogSegments /nodedata/kafka/kafka-logs/xb_topic-0/00000000000000000033.log
./kafka-run-class.sh kafka.tools.DumpLogSegments –files /nodedata/kafka/kafka-logs/xb_topic-0/00000000000000000033.log –print-data-log

9、导出Zookeeper中Group相关的偏移量。有时候我们需要导出某个Consumer group各个分区的偏移量。
使用脚本:kafka-run-class.sh
./kafka-run-class.sh kafka.tools.ExportZkOffsets
./kafka-run-class.sh kafka.tools.ExportZkOffsets –group xb_id –zkconnect c13-138:2181,c13-139:2181,c13-141:2181 –output-file ~/offset
vim ~/offset

10、这个工具主要作用是从一个Kafka集群里面读取指定Topic的消息,并将这些消息发送到其他集群的指定topic中。
使用脚本:./kafka-replay-log-producer.sh

11、kafka-simple-consumer-shell.sh工具主要是使用Simple Consumer API从指定Topic的分区读取数据并打印在终端。
使用脚本:./kafka-simple-consumer-shell.sh –broker-list c13-141:9092 –topic mytopic –partition 0

12、kafka.tools.UpdateOffsetsInZK工具可以更新Zookeeper中指定Topic所有分区的偏移量,可以指定成 earliest或者latest
使用工具:./kafka-run-class.sh kafka.tools.UpdateOffsetsInZK

最后再注意kafka的启动和停止。
启动kafka: ./kafka-server-start.sh /kafka/config/server.properties >/dev/null 2>&1 &
停止kafka: 直接kill掉进程就行。


kafka的相关操作脚本
https://www.920929.xyz/posts/4f062237.html
作者
DELIN
发布于
2019年12月21日
许可协议