动态配置tention.ms不适用于kafka主题

时间:2019-01-17 13:14:38

标签: apache-kafka

我有一个名为retention的Kafka主题,以下是与保留相关的服务器配置:

log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=3600000 (~ 1 hour)
log.cleaner.enable=true

以下是主题特定的配置:

retention.ms=2592000000,retention.bytes=3298534883328 

retention.ms〜30d,retention.bytes =〜3.29 TB

我最近(在2019年1月14日)使用以下命令使用以下命令配置了retention.msretention.bytes


./bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic retentions --config retention.bytes=219902325555

此处retntion.bytes的配置似乎有效,而retention.ms的配置似乎无效。这是我可以收集的证据:

cd log_dir/retentions-0/
ls -lrt 00000000000000000000.*
-rw-r--r-- 1 root root 294387381 Nov 26 22:37 00000000000000000000.log
-rw-r--r-- 1 root root      3912 Jan 14 18:06 00000000000000000000.index
-rw-r--r-- 1 root root      5868 Jan 14 18:06 00000000000000000000.timeindex

如果我们查看较旧细分的日志,则将近两个月了。

任何人都可以说这两种配置中的哪一种将对优先级生效。或者,两者都可以工作,只要超过配置的阈值即可。

在我的假设中,这两种配置应结合使用。请让我知道是否不是这种情况。

1 个答案:

答案 0 :(得分:1)

两者一起工作。

摘自 Kafka:权威指南

  

如果您同时为log.retention.byteslog.retention.ms指定了一个值,则在满足任何一个条件时,可能会删除消息。