Kafka broker.rack选项机架识别对于分区副本无法正常工作

问题描述

我创建了具有6个代理的集群,在kubernetes中具有代理选项broker.rack。这是我每个经纪人的机架配置

| broker | rack   |
|--------|--------|
| 0      | rack-0 |
| 1      | rack-1 |
| 2      | rack-2 |
| 3      | rack-0 |
| 4      | rack-1 |
| 5      | rack-2 |

我检查了Zookeeper-shell是否为所有经纪人正确调整了此选项

bash-4.4$ zookeeper-shell zookeeper-ceph:2181
get /kafka/brokers/ids/0
{"listener_security_protocol_map":{"PLAINTEXT":"PLAINTEXT"},"endpoints":["PLAINTEXT://XX.XX.XX.XX:9092"],"rack":"rack-0","jmx_port":9393,"host":"XX.XX.XX.XX","timestamp":"1597756840585","port":9092,"version":4}
cZxid = 0x300000ae5
ctime = Tue Aug 18 22:20:40 KST 2020
mZxid = 0x300000ae5
mtime = Tue Aug 18 22:20:40 KST 2020
pZxid = 0x300000ae5
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x202ae230e7e0014
dataLength = 212
numChildren = 0

当我创建主题(36个分区/ 3个复制因子)时,特定分区中的副本均匀分布,但是一个分区中的一个分区中的副本却出乎意料

enter image description here

经纪人14在同一机架(rack-1)中,但是它们被分配在一个分区中。 我认为这种行为与kafka建议(https://cwiki.apache.org/confluence/display/KAFKA/KIP-36+Rack+aware+replica+assignment)中的建议不同

Kafka版本为2.3 谁能告诉我怎么了?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)