kafka自动清除日志

电脑杂谈  发布时间:2020-11-20 07:01:57  来源:网络整理

自动删除硬盘分区_自动删除硬盘分区

删除Kafka日志

Kafka将消息存储在磁盘中。在程序运行时,Kafka将生成大量消息日志,这些日志将占用大部分磁盘空间。当磁盘空间已满时,Kafka将自动关闭,因此将删除Kafka日志。这是非常必要的。

1.Kafka的日志清除策略

Kafka中的每个分区都对应一个日志文件,并且该日志文件可以分为多个日志段文件,这也便于日志清理操作。

Kafka提供了两种日志删除策略:

自动删除硬盘分区_自动删除硬盘分区

([1)Log Deletion)根据特定的保留策略直接删除不合格的日志段。

([2)Log Compaction集成了每个消息的键。对于具有相同键的不同值值,仅保留最后一个版本。

我们可以通过代理端的参数log.cleanup.policy设置日志删除策略。该参数的默认值为“删除”,表示采用日志删除策略。如果要使用日志压缩清除策略,则需要将log.cleanup.policy设置为“ compact”,还需要将log.cleaner.enable(默认值为true)设置为true。

通过将log.cleanup.policy设置为“删除,压缩”,它可以支持日志删除和日志压缩。

2.日志删除策略

自动删除硬盘分区_自动删除硬盘分区

我主要使用日志删除的清除策略。 Kafka日志管理器允许自定义删除策略。当前有两种主要策略:

([1)按时间删除。删除N天前修改的日志。

(2)按大小删除。将保留最后NGB数据,即,当日志数据超过指定大小时,将执行删除操作。

Kafka消费日志删除思路:

•Kafka将主题中的大型分区文件分成多个小文件段。通过多个小文件段,可以很容易地定期清除或删除消耗的文件,从而减少磁盘使用量。

自动删除硬盘分区_自动删除硬盘分区

具体操作过程如下:

修改配置文件server.properties

(1)修改时间

log.retention.hours=1

([2)修改大小

自动删除硬盘分区_自动删除硬盘分区

log.retention.bytes=1048576

([3)设置

log.segment.bytes=10240

([4)添加设置

log.cleanup.policy=delete

在这里插入图片描述

根据此配置文件,仅保存一个小时的日志,并且大小不超过1M。满足条件时,将触发日志删除操作。 log.segment.bytes = 10240表示每个文件的大小不超过10K。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/dianqi/article-334620-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...