管理CentOS上Kafka的磁盘空间可从以下方面入手:
- 配置参数优化:
- 设置
log.retention.hours(或log.retention.minutes、log.retention.ms)控制日志保留时间,如设为168(7天)。 - 用
log.retention.bytes限制日志总大小,默认-1(无限制),可设为具体值如1073741824(1GB)。 - 调整
log.segment.bytes控制单个日志分段大小,默认1073741824(1GB)。
- 设置
- 清理策略设置:
- 启用日志删除,设置
log.cleanup.policy=delete(默认),按时间或大小删除旧日志。 - 若需保留特定数据,可设
log.cleanup.policy=compact进行日志压缩,保留每个key的最新值。
- 启用日志删除,设置
- 磁盘空间监控:
- 使用
kafka-log-dirs.sh脚本查看Topic和Broker的磁盘使用情况。 - 通过JMX监控相关指标,如
kafka.server:type=LogManager,name=LogEndOffset等。 - 利用系统工具如
df -h查看磁盘整体使用情况。
- 使用
- 扩容与迁移:
- 扩容时添加新磁盘,修改
log.dirs配置添加新路径,然后重启Kafka。 - 若需迁移数据,可停止Kafka,复制数据到新磁盘,修改配置后重启。
- 扩容时添加新磁盘,修改