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

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!