【问题标题】:How can I check how much disk space is being used by Kafka如何检查 Kafka 使用了多少磁盘空间
【发布时间】:2016-10-04 02:20:44
【问题描述】:

在我的一个 Kafka 主题中同步了 200 万条消息后,我的磁盘空间快用完了。我什至删除了这个话题,但空间似乎还是被占用了。任何链接帮助将不胜感激。

【问题讨论】:

标签: apache-kafka


【解决方案1】:

使用下面的命令可以知道每个主题消耗了多少磁盘空间

du -sh /tmp/kafka-logs/*

【讨论】:

  • 上述命令给出的结果如下: [root@MyDev ~]# du -sh /tmp/kafka-logs/* 4.0K /tmp/kafka-logs/activity_topic-0 4.0K /tmp /kafka-logs/callback_topic-0 4.0K /tmp/kafka-logs/callback_topic-1 4.0K /tmp/kafka-logs/callback_topic-2 4.0K /tmp/kafka-logs/callback_topic-3 4.0K /tmp/kafka -logs/callback_topic-4 4.0K /tmp/kafka-logs/__consumer_offsets-0 4.0K /tmp/kafka-logs/__consumer_offsets-1 4.0K /tmp/kafka-logs/__consumer_offsets-10
  • 你是如何删除话题的?
【解决方案2】:

确定主题大小以发送指标的另一种方法,例如石墨。然后可以找到大小如下: kafka.log.Log.<topic_name>-<partition_number>-Size.value

【讨论】:

  • 您好安德烈,感谢您的评论。这实际上是一个有问题的答案。我们必须记住,Kafka 是一个分布式服务,并且不能保证分区是完美平衡的。您需要在每台主机上运行 Kamal 的命令。
  • 嗨,罗伯特,当然,有必要从每个代理收集指标,并且要获得完整的主题大小,您需要从每个代理汇总该代理上所有分区的指标。跨度>
【解决方案3】:
  • 要从主题中删除消息,您应首先将保留时间设置为例如1000 毫秒。这将在 1 秒内清除所有消息。 (见答案:The correct config key is retention.ms
  • 删除主题
  • 一般考虑所有主题的保留时间,默认为 7 天,当您操作高频时,这可能是相当长的时间。

【讨论】:

    【解决方案4】:

    来自 server.properties

    #以逗号分隔的目录列表,用于存储日志文件

    log.dirs=/tmp/kafka-logs

    du 可以,但请务必检查 所有 日志目录。事实上,任何您喜欢检查磁盘空间的普通 unix 命令都可以使用。

    删除主题并不保证删除。它会将其置于“待删除”状态。如果您有任何生产者/消费者仍然附加到该主题,它不会被删除。请尝试以下操作:

    1. 确保所有具有主题副本的代理都在运行
    2. 确保您允许删除主题 delete.topic.enable = true
    3. 检查主题是否被删除 bin/kafka-topics.sh --list --zookeeper zookeeper_host:2181

    【讨论】:

      猜你喜欢
      • 2014-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-22
      • 2018-07-22
      相关资源
      最近更新 更多