卡夫卡保留政策没有按预期运作

时间:2018-01-25 17:19:05

标签: apache-kafka

我想要一个kafka主题只保留1天的数据。但是,如果我们继续向主题发送数据(活动),它似乎根本不删除任何数据。我尝试了主题侧参数(retention.ms)和服务器端:

    log.retention.hours=1 or log.retention.ms= 86400000 
    cleanup.policy=delete

但如果我们继续向其发送数据,它似乎对活着的主题不起作用。只有当我们停止向主题发送数据时,它才会遵循保留策略。

那么,什么是活动主题的正确配置,仅保留数据一段时间?

2 个答案:

答案 0 :(得分:3)

Kafka仅删除被动日志段。您必须调整log.segment.byteslog.roll.ms以将活动日志段转换为被动日志段。有关详细信息,请参阅Broker configuration

答案 1 :(得分:1)

日志保留基于日志文件的创建日期。尝试设置log.roll.hours.per.topic< 24(因为by default它是24 * 7)。

为0.8

如果您只想控制每个主题的日志文件创建,请在主题配置中设置log.roll.ms

为1.0

日志已分段,日志段的每主题配置为:

segment.ms注意:这是以毫秒为单位,并覆盖服务器范围的Rectangle设置。

另请参阅:Purge Kafka Topic