【问题标题】:Does Kafka reserve disk space in advance?Kafka会提前预留磁盘空间吗?
【发布时间】:2019-11-07 23:22:23
【问题描述】:

我刚刚完成了一次测试运行,以查看我的单节点 Kafka 集群(1 个 Zookeeper,1 个 Kafka-Broker)在处理未来项目的预期负载方面的能力。集群组件在 Docker-Containers 中运行,通过 docker-compose 文件初始化。

在测试运行期间,我注意到磁盘利用率并没有像我预期的那样线性上升。尽管吞吐量保持不变,但它却在跳跃式上升。这是底层虚拟机磁盘使用情况的图表(在测试运行时几乎没有其他东西在上面运行,因此虚拟机磁盘使用情况应该与代理的磁盘使用情况相关):

如您所见,磁盘使用量的跳跃越来越大,频率越来越低。此外,最后,磁盘使用率再次上升,但在测试运行完成后下降得相当厉害。

这让我怀疑 Kafka-Broker 预测了预期的磁盘使用情况并提前预留了磁盘空间。但我似乎找不到任何关于此事的支持证据或文件。那么,这里发生了什么?

【问题讨论】:

  • 我认为您应该将容器的卷挂载到 Kafka 数据目录并进行测量
  • 你用什么来监控磁盘使用情况?
  • @MickaelMaison:收集到的(特别是 df 插件)将指标写入普罗米修斯。可视化是用 grafana 完成的。

标签: apache-kafka


【解决方案1】:

broker configs 中有一个“log.preallocate”设置,可以让 kafka 为分区预先创建段文件,但它默认为 false。你改变了那个设置吗?

至于收缩,您的日志应该显示是否启动了日志压缩。您还没有提到您的主题配置(是否已压缩日志?)或您的测试工作量(是否使用密钥?是否重复它们?)所以我不能确定。

在我看来,您的测试工作量并没有像您想象的那样线性地生成数据

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多