如何解决我如何让Kafka根据提供的保留期限删除日志
我有一个kafka集群或3个在AWS EC2实例上运行的代理。但是,由于Kafka生成了日志,因此这些计算机上的磁盘空间很快用完,一旦计算机用尽磁盘空间,Kafka就会停止运行。我的server.properties
文件中有以下清理策略
log.retention.hours=24
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
log.retention.hours
最初像往常一样设置为168
,但是我想这可能是足够长的时间来使磁盘满载,因为我正在t2.small机器上运行了30GiB的磁盘。磁盘存储,因此我将保留时间减少到24,但是磁盘仍然满了。
我在主题上运行了describe
,以查看主题是否有更大的保留策略,我认为这可能是在覆盖server.properties
文件,但主题保留期为1000毫秒,如下所示运行kafka-topics.sh --zookeeper localhost:2181 --topic create-user --describe
在我的server.properties
文件中,我的目录设置为log.dirs=/tmp/kafka-logs
,我可以看到它在该目录中创建了一些日志文件,但是我也看到目录kafka安装在( 〜/ kafka-dir),其中logs
双向增长。我必须在磁盘空间不足之前几天登录计算机,以从该目录(〜/ kafka-dir / logs)删除每个文件,这非常不方便。
如何让kafka删除日志。
解决方法
-
如果您打算保留数据,请不要将数据存储在
/tmp
中。 -
仅闭合段被删除。似乎您仍将段大小设置为1GB
-
检查代理日志以确保
LogCleaner
实际正在运行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。