添加新磁盘后,Kafka 会重新使用旧磁盘进行写入吗?

Will Kafka Reuse an old disk for writes after a new disk has been added?

我对每个 Kafka 代理使用多个磁盘有疑问。 假设一个 Kafka broker 关联了 3 个磁盘。

i) Disk-1 在 5 天内已满

ii) Disk-2 在接下来的 3 天内使用率接近 40%。

现在,如果 log.retention.hours = 168(7 天)已经完成,假设 Disk-1 中的数据已删除,因此 Disk-1 再次可用,Disk-2 已使用 40%

现在 Kafka 会重新使用 Disk-1 进行新写入,还是只写入新磁盘,即 Disk-2、Disk-3 等等?

基本上,我的问题是,如果旧磁盘中有足够的空闲空间 space,Kafka 会再次写入旧磁盘吗?由于在 Kafka 中的最大保留天数后消息被删除,Kafka 会再次写入吗?

创建分区时,作为副本的每个代理都会选择一个 select 日志目录来放置该分区的数据。在代理上,特定分区的数据仅存储在 selected 日志目录中。

日志目录通过 log.dirs 设置在代理配置中指定。

如果您有多个日志目录,创建分区时,会选择分区数量最少的日志目录。

当向分区生成消息时,数据会进入该分区所在的日志目录。

简而言之,你的具体问题的答案是“视情况而定”,但希望我已经足够清楚地描述了这个过程,让你能够根据你的具体情况找出答案。