我将数百个主题从一个经纪人转移到另一个经纪人。这个过程是
kafka-topics.sh
生成现有分区列表kafka-reassign-partitions.sh
生成当前的分区/代理列表/ etc kafka-reassign-partitions.sh (broker list) --execute
以添加新经纪人这对于成百上千个主题非常有用..除了一个粘性问题。这种坚持拒绝与新经纪人(ISR列表中缺失)同步,即使它包含在副本列表中
kafka-topics.sh
的输出(试图用经纪人4替换经纪人7):
主题:shard_3分区:7领导者:3个副本:3,4,7 Isr:7,3
我已经多次运行(4)以期完成此任务,但似乎并不想这样做。我已经等了一夜,以防它真的很慢。
关于如何解开这个问题的建议?
答案 0 :(得分:1)
事实证明,主要经纪人对某些事情感到不满,而且分区列表并未保持最新状态。
解决方案:
bin/zkCli.sh -server <kafka broker in cluster>
get /controller