kafka 经纪商领导者倾斜

Nis*_*mar 5 apache-kafka apache-zookeeper

我有 10 个节点的 kafka 集群。kafka 代理和 Zookeeper 都在每个节点上运行。最近我们添加了 3 个新节点 8、9 和 10,昨天有 2 个节点关闭(2 和 4)。我有一个有 60 个分区和 3 个复制的主题。在kafka管理器中,Brokers Skewed %显示为50和Brokers Leader Skewed %70。我已经从UI手动重新分配了分区, Brokers Skewed %现在是0,但它没有改变Brokers Leader Skewed %。我还运行了命令:

$ kafka-preferred-replica-election.sh  --zookeeper localhost:2181 --path-to-json-file test.json

Warning: --zookeeper is deprecated and will be removed in a future version of Kafka.
Use --bootstrap-server instead to specify a broker to connect to.
Created preferred replica election path with ...
Successfully started preferred replica election for partitions Set(..
Run Code Online (Sandbox Code Playgroud)

但这并没有改变任何事情。我可以在 UI 上看到经纪人 8 和 10 没有领导者。如何在所有经纪商中均匀地重新平衡领导者?我读到所有代理的集群滚动重启可以解决这个问题,但我无法(在正常情况下)重启我的生产 Kafka 集群。

kafka version: 2.3.0
zookeeper version: 3.4.12
Run Code Online (Sandbox Code Playgroud)

添加了kafka管理器屏幕截图并用红色圆圈突出显示了该问题。

卡夫卡经理

在此输入图像描述

我将不胜感激任何帮助。

Nis*_*mar 2

我能够解决这个问题。如果您仔细查看屏幕截图,您会注意到没有任何首选副本(列的第一个条目Replicas)被分配给代理 8 或 10,并且只有分区 37 将代理 9 作为首选副本,因此Preferred Replica Election不起作用。

我使用Manual Partition Assignments(将代理 8,9 和 10 移动到 17 个分区 (6*3 -2) 中的副本 0)选项对首选副本进行了洗牌,然后运行Reassign Partitions然后运行Preferred Replica Election​​.

我希望它对其他人有帮助。

注意:最近添加了 8,9 和 10 节点。