kafka + 如何将主题从一个磁盘传播到所有其他新磁盘

kafka + how to spread topics from one disk to all other new disks

我们有 Kafka 集群版本 2.7

每台机器一个磁盘如下

/dev/sdb                82% /var/kafka/data1

所有主题都在/var/kafka/data1

我们决定为每个kafka添加7个磁盘个新磁盘如下

我们在每个新磁盘上创建了 XFS 文件系统,包括挂载(和 fstab 配置)

如下:

/dev/sdb                     82% /var/kafka/data1
/dev/sdc                      1% /var/kafka/data2
/dev/sdd                      1% /var/kafka/data3
/dev/sde                      1% /var/kafka/data4
/dev/sdf                      1% /var/kafka/data5
/dev/sdg                      1% /var/kafka/data6
/dev/sdh                      1% /var/kafka/data7
/dev/sdi                      1% /var/kafka/data8

我们在每个kafka上配置了server.properies 然后我们在所有机器上重启kafka服务

所以我们现在在 Kafka 重启后,

由于我们有额外的 7 个磁盘,我们希望位于 /var/kafka/data1 的主题将分离到所有其他新磁盘

但这不是 Kafka 代理重启后的情况,除了 - /var/kafka/data1 之外的所有挂载点文件夹都没有主题

所以问题是——用主题填充新磁盘的过程或过程是什么?

据我所知,Kafka 没有像 Hadoop 那样的节点内再平衡。

理论上,您可以尝试关闭代理,将新分区安装到目录,将它们添加到 log.dirs,然后将主题分区移动到这些目录,然后重新启动代理。但是,我不确定您将如何处理 meta.properties

之类的文件

另一种替代方法是,在更新代理配置后,使用重新分配分区工具将分区或主题完全移出较大的代理,然后再将其移回。或者完全开始从大量使用磁盘中删除目录,并让复制将其移回所有磁盘,希望