一、基于日志大小
- 参数log.retention.bytes是Apache Kafka中的一个配置参数,它用于控制Kafka Broker保留的日志段文件的总大小。具体来说,它指定了Kafka Broker在删除旧的日志段文件时所依据的策略。
- 当一个主题的日志段文件大小超过了参数log.retention.bytes的值时,Kafka Broker会开始删除最旧的日志段文件,直到总的日志段文件大小小于或等于log.retention.bytes的值。这样可以确保Kafka Broker保留的日志段文件总大小不会超过一定的限制,以防止磁盘空间被过度占用。
- 默认情况下,参数log.retention.bytes的值是-1,表示不限制日志段文件的总大小。可以通过修改Kafka Broker的配置文件来设置该参数的值。根据实际需求,可以设置一个合理的值来控制磁盘空间的使用,以避免磁盘空间被过度占用导致系统异常。
- 总之,参数log.retention.bytes的作用是控制Kafka Broker保留的日志段文件的总大小,从而影响Kafka集群的存储空间的使用和性能。
二、基于时间大小
- "log.retention.hours"是Apache Kafka中的另一个配置参数,用于指定每个日志段文件的最大保留时间。当日志段文件的最后一条消息的时间戳超过该配置值时
本文介绍了Apache Kafka中如何同时基于日志大小和时间设置Topic数据的保留策略。通过"log.retention.bytes"控制日志段文件的最大大小,以及"log.retention.hours"设定最大保留时间,来平衡磁盘空间利用与消息保留时间。在参数设置中,两者独立生效,共同决定日志段的保留和删除。文章还提到了设置这些参数的命令,以帮助管理员根据业务需求调整Topic的保存策略。
订阅专栏 解锁全文
2254

被折叠的 条评论
为什么被折叠?



