在这篇文章开始前,你需要先了解 【kafka源码】kafka分区副本的分配规则
从【kafka源码】kafka分区副本的分配规则 中我们已经知道了,如何分区副本是如何进行分配的
那么当我们想要批量进行副本扩缩的时候...,我们本篇文章就好好思考一下设计方案
扩缩副本 想法1
我们指定,扩缩副本在kafka中是不直接支持的,但是我们可以通过kafka-reassign-partitions.sh工具来进行重新分配, 但是如果要给多个...topic来进行扩缩副本操作的话,要自己去一个个的配置副本分配的位置,那么这是一个灾难; 手动不仅容易出错,已非常容易让副本分配的不均衡, 可以看看之前的文章 kafka运维】副本扩缩容、数据迁移、副本重分配...如果还是想要实现我们的目标,最小成本的去扩缩副本,那么我们就需要找到是从哪个分区开始进行了 扩分区的操作
假如现在的分区
0,2,3
1,3,0
2,3,4
3,4,0
先去验证是否有冲突的地方; 比如上面...Topic之前是否有进行过分区扩容,或者有过自定义分区副本的分配;
就一个字简单, 而且扩缩容改动也是最小的,只新增要新增的副本; 对原来的副本不改动;
如果开发运维同学自己有对分区自定义分配, 这种方式也不会去改动这一块