总结最近用到的kafka相关命令和脚本。
1、创建Topic
./kafka-topics.sh --zookeeper cc13-141:2182 --topic mytopic --replication-factor 1 --partitions 1 --create2、Topic列表
./kafka-topics.sh --zookeeper cc13-138:2181 --list3、创建生产者
./kafka-console-producer.sh --broker-list cc13-141:9092 --topic mytopic4、创建消费者
./kafka-console-consumer.sh --zookeeper c13-138:2181 --topic mytopic --from-beginning 每次都是从开始位置消费,在生产环境下不建议这样使用。5、查看指定topic
./kafka-topics.sh --describe --zookeeper c13-138:2181 --topic mytopic6、删除topic
./kafka-topics.sh --delete --zookeeper c13-138:2181--topic mytopic7、显示出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-info8、有时候我们需要验证日志索引是否正确,或者仅仅想从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-log9、导出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 ~/offsetvim ~/offset10、这个工具主要作用是从一个Kafka集群里面读取指定Topic的消息,并将这些消息发送到其他集群的指定topic中。
使用脚本:./kafka-replay-log-producer.sh11、kafka-simple-consumer-shell.sh工具主要是使用Simple Consumer API从指定Topic的分区读取数据并打印在终端。
使用脚本:./kafka-simple-consumer-shell.sh --broker-list c13-141:9092 --topic mytopic --partition 012、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掉进程就行。
经常总结才能进步,每天进步一点点就可以了。