kafka保留策略没有按预期工作

use*_*577 6 apache-kafka

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

    log.retention.hours=1 or log.retention.ms= 86400000 
    cleanup.policy=delete
Run Code Online (Sandbox Code Playgroud)

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

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

Kam*_*ash 5

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


cow*_*ert 2

日志保留基于日志文件的创建日期。尝试设置log.roll.hours< 24 (因为默认情况下它是 24 * 7)。

对于0.8

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

对于 1.0

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

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

另请参阅:清除 Kafka 主题