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...

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。