一、命令行设置
(以Hadoop的topic为例)
进入Zookeeper客户端查看kafka存储的信息,/kafka/brokers/topics/hadoop/partitions/1/state
get /kafka/brokers/topics/hadoop/partitions/1/state
查看到 {"controller_epoch":33,"leader":-1,"version":1,"leader_epoch":25,"isr":[3]}
leader为-1,固分区的leader为none
修改/kafka/brokers/topics/hadoop/partitions/1/state的信息
set /kafka/brokers/topics/hadoop/partitions/1/state {"controller_epoch":33,"leader":1,"version":1,"leader_epoch":25,"isr":[3]}
二、软件设置
使用prettyZoo等zookeeper操作工具进入/kafka/brokers/topics/hadoop/partitions/1/state
修改leader的信息,然后刷新,重新启动即可。
三、总结
这两种方式是设置分区的leader,必须重启kafka集群和zookeeper集群,就能解决分区leader为none。
以上是通过网上学习和查阅相关资料、以及自己的理解所得出的结果。可能对你没有帮助,但是能提供给你们作为参考,以上如有雷同,请联系!!!