Kafka 日志分割策略设置指南
核心概念与触发条件
关键参数与默认值
| 参数 | 含义 | 默认值 | 建议与说明 |
|---|---|---|---|
| log.segment.bytes | 单个 Segment 的最大字节数,达到即滚动 | 1 GB(1073741824) | 过小会产生大量小段,增加文件数与启动扫描成本;过大则段回收/加载变慢。可按磁盘 IO 与恢复时间权衡设置。 |
| log.roll.{hours,ms} | 按时间强制滚动的阈值 | 168 小时(7 天) | 即使未达到大小阈值,到时间也会切段。适合按天/周管理数据边界与索引。 |
| log.retention.check.interval.ms | 检查并执行保留/清理的间隔 | 60000 ms(1 分钟) | 间隔越小,过期段越早被清理;过大则回收不及时。 |
| log.index.size.max.bytes | 段内索引文件的最大尺寸 | 10 MB | 索引满也会触发新段,避免索引过大影响定位性能。 |
| log.segment.delete.delay.ms | 段被标记删除后到真正物理删除的延迟 | 60000 ms(1 分钟) | 为读取与复制提供缓冲,避免立即删除导致的问题。 |
配置方式与示例
全局配置(server.properties)
按 Topic 覆盖(推荐精细化控制)
与保留与清理策略的协同
监控与验证