Kafka 同一个broker增加磁盘后 topic 迁移

克里斯蒂安 发表于: 2020-05-08   最后更新时间: 2020-05-09 10:17:32   2,183 游览

kafka-reassign-partitions.sh在增加或减少实例时候是有效果的

但是同一个broker在增加一个磁盘后,使用kafka-reassign-partitions.sh无效果

只有增加topic的时候,新盘才会有数据

除了手动拷贝,如何在增加新盘后,平衡一下新老盘的数据

发表于 2020-05-08
添加评论

博主,我遇到了和你一样的问题,请问你怎么解决的。

半兽人 -> ,, 2年前

kafka topic创建完成之后,分区确定了位置之后,是永远不会自动变化的。
所以只有增加topic的时候,新盘才会有数据。

只能通过迁移命令,手动达到平衡:kafka命令大全

没太理解. broker增加磁盘挂载,增加的也是新路径,这块逻辑跟kafka没关系吧

加入本来有/data1,kafka的topic都在这里,现在增加了一个/data2,怎么能实现/data1下的部分topic分区迁移到/data2,目前只能手动拷贝过去,然后重启kafka

kafka-reassign-partitions.sh 这个工具仅在增加或减少broker实例时候是有效果的,对同一个broker不同磁盘间的迁移没效果

你重启kafka,也要修改配置文件中的路径指定吧?

这都是肯定的
配置文件肯定是加入了/data2

然后,/data1中的topic数据目录,如果想移动一部分到/data2,目前只能靠手动拷贝,再重启
有木有办法使用自带命令实现呢?

路径都是新的,那跟kafka有什么关系,它只能识别你一开始配置好的路径。

没有这样的命令。

是这样,假如kafka只有一个broker,且只配置了/data1这个目录
现在机器新加了一个数据盘/data2,然后修改了kafka的配置文件,目前log.dirs=/data1,/data2
重启后,我要是再新建topic,/data2上会有新topic的数据的
现在问题是:
如果我想把/data1盘下面的某些topic的数据目录移到/data2,以缓解/data1的空间压力
是不是只能靠手动mv一些目录到/data2下,然后再重启kafka(实时上这样子我测试过成功了)
有木有办法,kafka会自动在同一个broker配置的不同的数据盘之间做数据均衡?

你的答案

查看kafka相关的其他问题或提一个您自己的问题