gpt4 book ai didi

java - 删除主题后 Broker 磁盘使用情况

转载 作者:行者123 更新时间:2023-11-30 06:03:19 27 4
gpt4 key购买 nike

我正在使用 Apache Kafka。我将巨大的数据库转储到 Kafka 中,其中每个数据库的表都是一个主题。

在主题完全消耗之前我无法删除它。我无法设置基于时间的保留策略,因为我不知道主题何时会被消耗。我的磁盘空间有限且数据太多。我必须编写以编程方式通过消费和删除进行编排的代码。据我所知,出现这个问题是因为我们使用Kafka进行批处理,但我无法更改技术堆栈。

从代理中删除已消费主题的正确方法是什么?

目前,我正在调用 kafka.admin.AdminUtils#deleteTopic。但我找不到明确的相关文档。方法签名不包含 kafka 服务器 URL。 这是否意味着我只删除主题的元数据并且代理的磁盘使用量没有减少?那么什么时候真正发生追加日志文件删除呢?

最佳答案

您是否可以使用基于大小的策略,而不是使用基于时间的保留策略? log.retention.bytes 是每个分区的设置,可能会对您有所帮助。

我不确定您希望如何确定某个主题是否已完全使用,但针对该主题调用 deleteTopic 最初会将其标记为删除。一旦没有消费者/生产者连接到集群并访问这些主题,并且如果在 server.properties 文件中将 delete.topic.enable 设置为 true,一旦有能力, Controller 就会从集群中删除该主题。这包括从磁盘清除数据。完成此操作可能需要几秒钟到几分钟的时间。

关于java - 删除主题后 Broker 磁盘使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51841638/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com