kafka报错LEADER_NOT_AVAILABLE

三点集群,之前运行ok,重启后报错:

Error while fetching metadata with correlation id 10 : {yqjp-devices-sendPackage=LEADER_NOT_AVAILABLE}

伴随报错:

Caused by: java.lang.ArithmeticException: / by zero

(这个报错貌似是程序架构里面关于kafka的lib报出,

相关代码:return DefaultPartitioner.toPositive(Utils.murmur2(keyBytes)) % numPartitions;

但对应topic的partition应该为1,按理不该报错,没搞明白)


但利用脚本测试又是OK的,说明zookeeper和kafka配置应该没有问题,测试脚本参考(单节点测试,多节点同理):

kafka-topics.sh --create --zookeeper 192.168.1.22:2181 --replication-factor 2 --partitions 1 --topic HelloWorld
kafka-console-producer.sh --broker-list 192.168.1.22 :9092 --topic HelloWorld

kafka-console-consumer.sh --zookeeper 192.168.1.22:2181 --from-beginning --topic HelloWorld

怀疑topic出了问题,删除报错的topic,先用如下脚本删除:

./kafka-topics.sh --delete --zookeeper 【zookeeper server】  --topic 【topic name】

但仍然报错,感觉没删除干净,只是标记为删除状态。

后来采用kafka可视化管理工具ZK_UI把里面的东西全部删除(测试环境),并重启了zookeeper和kafka,恢复正常,之前报错的topic也不报错了,ZK_UI安装参考:

https://www.ilanni.com/?p=12467

http://www.cnblogs.com/smail-bao/p/7794636.html

kafka报错LEADER_NOT_AVAILABLE_第1张图片

全程搭建无报错,感谢分享。





你可能感兴趣的:(zookeeper&kafka)