我有一个Kafka主题叫做 retention
以下是与保留相关的服务器配置:
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
我配置了 retention.ms
以及 retention.bytes
最近(2019年1月14日)使用以下命令:
./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
如果我们查看旧段的日志,这些都有近2个月的历史了。
有谁能告诉这两种配置中的哪一种会对优先级产生影响?或者,无论哪个配置超过了配置的阈值,这两种配置都可以工作。
在我的假设中,这两种配置应该协同工作。如果不是这样,请告诉我。
1条答案
按热度按时间j0pj023g1#
两者协同工作。
Kafka:权威指南
如果两个都指定了值
log.retention.bytes
以及log.retention.ms
... 当满足任一条件时,可以删除消息。