有童鞋请教,log.retention.hour设置72小时(3天),但现在6天都已经过去,却未见kafka对日志进行清理。
告知童鞋检查3个地方,segment.bytes 设置值,分片目录大小,分片目录里面是否只有单个日志文件。
反馈为:segment.bytes 为1G,分片目录大小为700M+,分片目录中只有单个日志文件。
问题确定:未达到1G的分片大小,kafka不会进行分片,kafka不会对未分片的日志文件进行清理,所以,log.retention.hour看似未进行日志清理。
建议调整如下:
bash kafka-topics.sh --zookeeper xxx:2181 --topic ad_log-record --alter --config segment.ms=86400000 (期望分片的时间)
bash kafka-topics.sh --zookeeper :2181 --topic ad_log-record --alter --config retention.ms=86400000 (期望清理的时间)
这样就能达到1天一清理的效果(如果为3天做具体数据修改即可)