我想要一个kafka主题只保留1天的数据。但是,如果我们继续向主题发送数据(活动),它似乎根本不删除任何数据。我尝试了主题侧参数(retention.ms)和服务器端:
log.retention.hours=1 or log.retention.ms= 86400000
cleanup.policy=delete
但如果我们继续向其发送数据,它似乎对活着的主题不起作用。只有当我们停止向主题发送数据时,它才会遵循保留策略。
那么,什么是活动主题的正确配置,仅保留数据一段时间?
答案 0 :(得分:3)
Kafka仅删除被动日志段。您必须调整log.segment.bytes
或log.roll.ms
以将活动日志段转换为被动日志段。有关详细信息,请参阅Broker configuration。
答案 1 :(得分:1)
日志保留基于日志文件的创建日期。尝试设置log.roll.hours.per.topic
< 24(因为by default它是24 * 7)。
如果您只想控制每个主题的日志文件创建,请在主题配置中设置log.roll.ms
。
日志已分段,日志段的每主题配置为:
segment.ms
注意:这是以毫秒为单位,并覆盖服务器范围的Rectangle
设置。
另请参阅:Purge Kafka Topic