为何Kafka v2.8.1集群磁盘使用率每7天周期性下降?
Kafka磁盘使用率7天周期性下降问题分析
问题背景
某Kafka v2.8.1集群的磁盘使用率呈现每7天周期性下降的规律,但另一配置了默认7天数据保留期的集群无此现象。该异常集群的非默认配置如下:
auto.create.topics.enable = false delete.topic.enable = true num.partitions = 10
CloudWatch的KafkaDataLogsDiskUsed指标(定义为数据日志占用磁盘空间的百分比)也明确显示出这个7天周期模式。
疑问解答与原因分析
1. "数据日志"是否包含Kafka内部日志?
KafkaDataLogsDiskUsed指标中的"数据日志"仅指代Kafka存储业务消息的日志段文件,也就是各个topic分区对应的日志数据文件,不包含Kafka的内部日志(比如Broker的运行日志、控制器日志、JVM日志等)。
2. 周期性下降现象的原因
这种周期性波动是测试集群的低业务流量特性放大了Kafka默认清理机制的表现:
- Kafka默认的消息保留时长
retention.ms为7天,达到保留期的日志段文件会被标记为待删除 - 测试集群几乎没有业务消息写入,日志段文件的生成和累积速度极慢,每7天会有一批集中达到保留期的日志段被批量清理,因此磁盘使用率会出现明显的周期性下降
- 另一业务流量正常的集群,由于持续有新消息写入、旧消息被增量清理,磁盘使用率的变化会更平滑,不会出现这种陡降的周期模式
内容的提问来源于stack exchange,提问作者VanillaDonuts
相关产品推荐
相关产品推荐

