kafka 集群环境下 broker 重启后 leader 副本所在 broker 分布不均
环境说明#
以下是当前运行环境的说明
在宿主机: centos7.5 的 docker 环境下安装了两个集群环境
zookeeper
kafka(version:2.5.0)
具体的安装过程和网络规划见这里
操作过程#
我这里有三台 kafka(2.5.0)搭建的集群(brokerId:1,2,3)
创建了一个 topic 是分区数为 4,副本系数为 3
此时对应 4 个分区的 leader 轮询的分布在了 1~3 的机器上了
模拟了其中一台 kafka(brokerId:3)机器挂掉
重启 kafka(brokerId:3)后
此时所有的 leader 副本都不在(brokerId:3)上,而是 4 个分区的 leader 副本分布在了(brokerId:1,2)两台机器上
问题疑问#
- 假设所有的分区消息频率和吞吐量都一样,这种现象会对生产环境下的三台服务器造成负载不均的情况吗?
- 如果出现了负载不均的情况,怎么规避或者有什么手段可以重新的分配 leader 副本 所在的 brokerId
PS: 这边暂时不考虑由于分区数量与服务器数量不是倍数导致的部分服务器承载多个分区 leader 副本任务导致的差异
推荐文章: