【问题标题】:Kafka brokers behavior after deleting a topic删除主题后的 Kafka 经纪人行为
【发布时间】:2022-11-29 06:18:56
【问题描述】:

我是卡夫卡的新手,正在弄清楚它的行为。

我有一个 kafka 集群,其中包含三个代理。我给了集群2GB,我的集群磁盘存储达到了95%。所以我所做的是删除了我用于测试的主要主题。 (该主题的复制因子为 3,同步副本的最小值为 2、8 个分区和 3 天的保留时间)我删除该主题的主要原因是我一直使用该主题,并且每个测试数据都是针对该主题生成的。我的目的是释放磁盘存储。(我想当我删除主题时,该主题的所有持久消息都将被删除,这样我将从我的 kafka 集群中获得更多磁盘空间)当我删除时,我注意到两件事。

  1. 其中一个代理磁盘使用率下降。但是其他两个经纪人的使用情况没有一点变化。
  2. 当我列出集群中的主题时,删除的主题前面有一条注释,上面写着“标记为删除”

    上述行为的原因是什么?

    顺便说一句,我在 Kafka 代理的属性中设置了 delete.topic.enable = true 和 auto create topic 也是 true。

【问题讨论】:

    标签: apache-kafka aws-msk retention


    【解决方案1】:

    我觉得删除topic不会清空磁盘空间,如果删除了topic,可以手动删除那个topic分区的索引文件和数据文件,但是不推荐这种方式。

    我认为更好的解决方案是将 cleanup policy 更新为 delete 并减少主题的 retention time。然后 Kafka 将删除旧的 segments 的数据,该数据早于该主题的保留时间。通过这种方式,您可以使 Kafka 代理免受过时数据的影响。

    如果您需要将数据保留在磁盘上,则必须将清理策略更改为compact,它将压缩delete retention time之后的主题旧段。它将保留分区密钥的最新消息和该消息密钥的墓碑旧消息。

    【讨论】:

      猜你喜欢
      • 2017-07-05
      • 2013-10-01
      • 1970-01-01
      • 2018-10-18
      • 1970-01-01
      • 2018-09-03
      • 1970-01-01
      • 2018-10-21
      • 1970-01-01
      相关资源
      最近更新 更多