You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kafka配置:如何选择策略永久保留主题所有消息?

正确配置:设置log.cleaner.enable=false

好问题!咱们先把这两个配置的作用拆解开,再结合你的需求判断:

  • log.cleanup.policy=compact 不符合需求
    这个配置是开启日志压缩策略,它的核心逻辑是只保留每个key的最新一条消息,同key的旧记录会被自动清理掉。这显然和你“永久保留所有消息、不删除任何记录”的目标相悖——它还是会删除部分数据,只是删除的是重复key的旧版本,所以直接排除这个选项。

  • log.cleaner.enable=false 才是正确选择
    Kafka的日志清理功能(不管是默认的delete策略,还是compact压缩策略)都是由这个开关统一控制的。当你把它设为false时,整个日志清理器会被禁用,默认的基于时间/大小删除旧日志的逻辑也会完全停止工作。这样一来,你的主题里的所有消息都会一直保留在磁盘上,完全满足你“不删除任何记录”的需求。

另外针对你的Kafka版本(kafka_2.10-0.10.0.1)补充一点:这个配置在该版本中是完全生效的,放心用。如果你只想针对这个单分区主题生效,记得用主题级别的配置修改命令,而不是改全局配置:

kafka-topics.sh --alter --zookeeper <你的ZooKeeper地址> --topic <你的主题名> --config log.cleaner.enable=false

内容的提问来源于stack exchange,提问作者DaliMidou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:48:22