kafka 集群环境下 broker 重启后 leader 副本所在 broker 分布不均

环境说明#

以下是当前运行环境的说明
在宿主机: centos7.5 的 docker 环境下安装了两个集群环境
zookeeper
kafka(version:2.5.0)
kafka集群环境下broker重启后leader副本所在broker分布不均
具体的安装过程和网络规划见这里

操作过程#

我这里有三台 kafka(2.5.0)搭建的集群(brokerId:1,2,3)
创建了一个 topic 是分区数为 4,副本系数为 3
kafka集群环境下broker重启后leader副本所在broker分布不均
此时对应 4 个分区的 leader 轮询的分布在了 1~3 的机器上了
kafka集群环境下broker重启后leader副本所在broker分布不均
模拟了其中一台 kafka(brokerId:3)机器挂掉
kafka集群环境下broker重启后leader副本所在broker分布不均
重启 kafka(brokerId:3)后
kafka集群环境下broker重启后leader副本所在broker分布不均

此时所有的 leader 副本都不在(brokerId:3)上,而是 4 个分区的 leader 副本分布在了(brokerId:1,2)两台机器上

问题疑问#

  1. 假设所有的分区消息频率和吞吐量都一样,这种现象会对生产环境下的三台服务器造成负载不均的情况吗?
  2. 如果出现了负载不均的情况,怎么规避或者有什么手段可以重新的分配 leader 副本 所在的 brokerId

PS: 这边暂时不考虑由于分区数量与服务器数量不是倍数导致的部分服务器承载多个分区 leader 副本任务导致的差异

解决办法#

kafka.apachecn.org/documentation.ht...

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。