Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka 卡夫卡没有';不要删除主题中的旧邮件_Apache Kafka - Fatal编程技术网

Apache kafka 卡夫卡没有';不要删除主题中的旧邮件

Apache kafka 卡夫卡没有';不要删除主题中的旧邮件,apache-kafka,Apache Kafka,在卡夫卡,我在server.properties ############################# Log Retention Policy ############################# ... log.retention.hours=72 ... 主题的retention.ms设置为17280000(48小时) 但是,文件夹/tmp/kafka logs中仍然有旧数据,没有任何数据被删除。我在更改这些属性后等了几个小时 有什么需要设置的吗?所有主题都是当前制作和使用的

在卡夫卡,我在
server.properties

############################# Log Retention Policy #############################
...
log.retention.hours=72
...
主题的
retention.ms
设置为
17280000
(48小时)

但是,文件夹/tmp/kafka logs中仍然有旧数据,没有任何数据被删除。我在更改这些属性后等了几个小时

有什么需要设置的吗?所有主题都是当前制作和使用的。

如中所述:

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

编辑:根据卡夫卡文档,
cleanup.policy
应该默认为
delete

retention.ms
retention.bytes
指定删除数据的方式


关键是将
log.cleanup.policy
设置为
compact
delete
。我没有设置这个

运行:
kafka主题--zookeeper 127.0.0.1:2181--topic topic1--description
显示在主题上设置的属性,例如
配置:retention.ms=17280000,cleanup.policy=compact


必须设置清理策略
。此外,我还手动设置
retention.ms
/
retention.bytes
来控制清理触发器。

Compact
策略将只压缩键中的值。也就是说,它最终将触发压缩过程,该过程将只为密钥留下一个(最终)值。但永远不要删除最后一个值

要按时间触发删除,您需要设置
删除
策略。在这种情况下,删除过程将删除比给定数据旧的数据

但是,您可以将策略设置为“压缩、删除”
,以便在同一主题上利用这两个过程(早期版本中不可用)

但是,这些过程不是二次精确的:它们最终将在以下条件下触发,例如:

# The interval at which log segments are checked to see 
# if they can be deleted according to the retention policies
log.retention.check.interval.ms=300000
(在上选中更多条件,然后将确保删除早于阈值的数据


此外,对于不同的时间粒度有不同的设置,并且它们具有优先级(如果设置了一个,它将忽略下一个)。确保没有意外的重写。请查看全面的文档以了解详细信息。

我设置了此属性,但没有效果。我现在有超过7*24的日志,所以我想不是这样。我猜卡夫卡根本不会触发清除。我注意到主题
消费者偏移量
被删除,但我的主题没有。Did比较,这是由于未设置清理策略造成的,请参阅我的答案。但无论如何,谢谢!还要注意,日志段的大小也会影响此行为。
log.retention.check.interval.ms
给出了“未知主题配置名称:log.retention.check.interval.ms”这是代理配置。也许你正在其他地方设置它?你可以在这里找到详细信息:好的,我的错,我在主题配置中搜索