当前位置: 首页 > 知识库问答 >
问题:

我如何让kafka根据提供的保留期删除日志

宗政和韵
2023-03-14

我有一个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.磁盘存储空间为30GIB的小型计算机上运行它,所以我将保留时间减少到24小时,但磁盘仍然满。

我在主题上运行了description以查看主题上是否有更大的保留策略,我想这可能会覆盖server.properties文件,但在运行kafka-topics.sh之后,主题保留时间为1000ms,如下所示:zookeeper localhost:2181--topic create-user--description

同样在我的server.properties文件中,我的目录设置是log.dirs=/tmp/kafka-logs,我可以看到它在那个目录中创建了一些日志文件,但是我也看到了kafka安装在(~/kafka-dir)的目录中的一些日志文件,并且在那里logs目录增长。在磁盘空间耗尽前几天,我必须登录到机器上删除这个目录(~/kafka-dir/logs)中的每个文件,这非常不方便。

我怎么让Kafka删除日志。

共有1个答案

夏侯自珍
2023-03-14

>

  • 如果计划保留/tmp中的数据,请不要将该数据存储在该数据中。

    仅删除已关闭的段。看来您仍将段大小设置为1GB

    检查代理日志以确保logcleaner实际运行。

  •  类似资料:
    • 问题内容: 我有一个带有一堆文件的文件夹。我需要删除7月1日之前创建的所有文件。如何在bash脚本中做到这一点? 问题答案: 我认为以下应该做您想要的: 第一行创建一个文件,该文件最后一次修改是在2010年7月1日。第二行在/ path / to / file中找到日期不比虚拟文件新的所有文件,然后将其删除。 如果要再次检查它是否可以正常工作,请删除该参数,它只应列出将要删除的文件。

    • 我使用Pandas read_csv从csv文件导入了一个数据帧。它的形状是735,36。我需要删除最后33列-保留前3列。这些列是,, 我已经尝试了这里所有的建议 无论我做什么,我都会得到以下错误: 例如: 我又开始了。“bool对象不可下标”错误已经消失,我认为df已经被覆盖。 我试图使用一些公开的医院活动数据,并从中提取数据。我是一名神经外科医生,所以你可能需要耐心。数据在这里https:/

    • 我正在使用下面的代码从一个主题读取消息。如何在阅读邮件后删除它?

    • 我在一个表(即TAB1)中有多个日期范围,如下所示。 对上面的SQL查询有什么建议吗?

    • 我有一个Kafka的题目有1个分区。如果它有100条消息,偏移量将从0.99开始。 根据Kafka保留策略,在指定的时间之后,所有的消息都将被清除。 并且我正在发送100个新的消息到主题,一旦所有已经被清除(在保留期之后)。现在,消息的新偏移量从哪里开始呢?是从100还是从0?? 我想知道新的偏移是100-199还是0-99?

    • 我有一个关于Kafka主题清理策略和它们的日志.保留... 例如,如果我将cleanup.policy设置为compact,则只有在主题的保留时间或保留时间对压缩没有影响之后才会开始压缩? 答案Thx...