📚 分类
kafka
🕵🏽‍♀️ 问题描述
kafka数据清理机制了解过嘛
👨‍🏫 问题讲解
❒ kafka文件存储机制

分区 -> 分段 ->  .index 索引文件 .log 数据文件 .timeindex 时间索引文件

❒ 为什么要分段?

✔ 删除无用文件方便,提高磁盘利用率
✔ 查找数据便捷

❒ 数据清理机制

❒ 日志的清理策略有两个

1.根据消息的保留时间,当消息在kafka中保存的时间超过了指定的时间,就会触发清理过程
# The minimum age of a log file to be eligible for deletion due to age
log.retention.hours=168

2.根据topic存储的数据大小,当topic所占的日志文件大小大于一定的阈值,则开始删除最久的消息。需手动开启
# log.retention.bytes=1073741824
# A size-based retention policy for logs. Segments are pruned from the log unless the remaining
# segments drop below log.retention.bytes. functions independently of log.retention.hours.

🏳️‍🌈 问题总结
❒ Kafka存储结构

Kafka中topic的数据存储在分区上,分区如果文件过大会分段存储segment
每个分段都在磁盘上以索引(xxxx.index)和日志文件(xxxx.og)的形式存储
分段的好处是,第一能够减少单个文件内容的大小,查找数据方便,第二方便kafka进行日志清理。

❒ 日志的清理策略有两个:

✔ 根据消息的保留时间,当消息保存的时间超过了指定的时间,就会触发清理,默认是168小时(7天)
✔ 根据topic存储的数据大小,当topic所占的日志文件大小大于一定的阈值,则开始删除最久的消息。(默认关闭)
📖 问题信息
📈 浏览次数:11 | 📅 更新时间:2025-12-01 22:01:54
📦 创建信息
🏷️ ID:76 | 📅 创建时间:2024-11-11 15:38:33