查看offset偏移量和lag,看是否正在消费数据
./kafka-consumer-offset-checker.sh --zookeeper <zk-ip:2181> --group <消费组> --topic <主题>
启动一个消费者去消费topic,查看是否有数据到kafka<在自动创建topic中不要使用,执行命令的topic将加入一个随机group>
./kafka-console-consumer.sh --bootstrap-server <kafk-ip:9092> --topic <主题>
查看是否有创建topic
./kafka-topics.sh --zookeeper <zk-ip:2181> --list | grep <主题>
查看某个消费组
./kafka-consumer-groups.sh --bootstrap-server <kafka-ip:9092> --list | grep <消费组>
查看某个消费组中的topic
./kafka-consumer-groups.sh --bootstrap-server <kafka-ip:9092> --describe --group <消费组>
删除topic (前提是配置文件server.properties开启 delete.topic.enable=true 且已经没有接受消息,停止接收生产者数据和消费者消费)
#执行完后,需要重启kafka
./kafka-topics.sh --zookeeper <zk-ip:2181> --delete --topic <主题>
删除正在消费但不正常的topic,正常情况下删除有在生产消息和消费消息的topic是无法正常删除,而是标记删除,当不再生产和消费才会自动删除,这种情况下,强制删除topic,然后会自动创建新的topic,这个方法能解决很多topic异常的问题
#删除topic
./kafka-topics.sh --zookeeper <zk-ip:2181> --delete --topic=<主题>
#删除后,只是标记了删除,并没有真正删除,执行强制删除,登录到zk
#在zookeeper节点下,使用客户端命令工具登录zk
./zkCli.sh
#强制删除已经被标记的topic
rmr /admin/delete_topics/<主题>
当消费数据缓慢的时候,可以增加分区来改善,如果效果不理想可以考虑扩容消费者 如kafka–>elk架构,可以考虑扩容logstash
#只能增加不能减少
./kafka-topics.sh --alter --topic <主题> --zookeeper <zkip:2181> --partitions <增加分区数>
topic指定消费组
./kafka-console-consumer.sh --bootstrap-server <kafka-ip:9092> --consumer-property --topic <主题> group.id=<消费组>
查看kafka版本
#进入kafka安装目录执行下面命令
find ./libs/ -name \*kafka_\* | head -1 | grep -o '\kafka[^\n]*'
调整offset(适用于0.11.0.0以上的版本)消费组必须是inactive状态
#offset调整到最小值,还有多种参数可以使用./kafka-consumer-groups.sh help查看帮助
./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group <消费组> --reset-offsets --all-topics --to-earliest --execute
减少topic数据保存时间
#当数据进行压测时,数据激增,会导致硬盘爆满,修改数据保留时长,数据从72小时 改成 只保留24小时
/usr/local/kafka/bin/kafka-configs.sh --zookeeper zk-ip:2181 --entity-type topics --entity-name <topic> --alter --add-config retention.ms=86400000
压测结束后,去掉配置
/usr/local/kafka/bin/kafka-configs.sh --zookeeper zk-ip:2181 --entity-type topics --entity-name <topic> --alter --delete-config retention.ms