在apache kafka中记录主题数据时使用log.retention.bytes参数的混淆

a8jjtwal  于 2021-06-06  发布在  Kafka
关注(0)|答案(1)|浏览(1010)

“log.retention.bytes”是我们用来保留主题消息日志的参数,我给它的值是1073741824。
我参考了kafka文档,其中说明“log.retention.bytes”中给出的大小是每个分区的大小,因此这意味着假设我使用的所有主题都有20个分区,那么kafka将保留的字节的总大小是20*1073741824。
但我需要的是

Will Kafka retain 20*1073741824 bytes for all the topics?
                     (or)
Will Kafka retain 20*1073741824 bytes per topic?
eyh26e7m

eyh26e7m1#

用于在日志中为每个主题分区保留的log.retention.bytes参数。默认情况下,日志大小是无限的。
如果使用“删除”保留策略,此配置控制分区(由日志段组成)在丢弃旧日志段以释放空间之前可以增长到的最大大小。默认情况下,没有大小限制,只有时间限制。由于此限制是在分区级别强制执行的,因此将其乘以分区数以字节为单位计算主题保留。
如果设置log.retention.bytes=1 gb,则当分区大小达到1 gb时,kafka将触发清理活动。请记住,它不是主题大小。它是分区大小。
kafka提供了配置保留周期的其他选项,即log.retention.ms。。默认保留期为七天。如果要更改保留期,可以为log.retention.ms配置指定值。
如果同时指定这两种配置,则在满足任一条件时将开始清理。

相关问题