一、基于日志大小
- 参数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中的另一个配置参数,用于指定每个日志段文件的最大保留时间。当日志段文件的最后一条消息的时间戳超过该配置值时