我对每个Kafka代理使用多个磁盘有疑问。假设Kafka代理具有3个与之关联的磁盘。
i)磁盘1在5天内已满
ii)在接下来的三天内,磁盘2的使用率接近40%。
现在,如果log.retention.hours = 168
(7天)已完成,则假设磁盘1中的数据已删除,因此磁盘1再次可用,磁盘2已使用40%
现在,Kafka会再次将Disk-1重新用于新写入,还是仅写入新磁盘(即Disk-2,Disk-3等等)?
基本上,我的问题是,如果在Kafka中的最大保留天数后由于消息删除而导致旧磁盘中有足够的可用空间,那么Kafka会再次写入旧磁盘吗?
创建分区后,作为副本的每个代理将选择一个选择日志目录来放置该分区的数据。在代理上,特定分区的数据仅存储在该选定的日志目录中。
日志目录通过log.dirs
设置在代理配置中指定。
如果您有多个日志目录,则在创建分区时,将选择分区数量最少的日志目录。
在向分区生成消息时,数据将进入该分区所在的日志目录。
简而言之,对您的特定问题的答案是“取决于情况”,但希望我对过程进行了足够清晰的描述,以使您能够找到适合您实际情况的答案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句