首页 > 解决方案 > 如何减少分区占用的磁盘空间?

问题描述

在我的特定用例中,我们每天将摄取 1000GB 的数据。如果我在本地压缩文件,那么它大约有 100GB。

我编写了一个示例应用程序来流式传输 100MB 文件(压缩后转换为 10MB)。单个生产者,单个主题,单个分区。

我使用了事务并启用了压缩 (gzip)。我运行命令找出分区的总大小,它大约是 85MB。作为Kafka,可能会添加一些数据;为了保证完全一次的语义。我创建了大量消息并将它们提交到事务中。每条消息都被压缩。

我还查看了 Kafka 内部存储的内容:

我有两个问题:

  1. 为什么 Kafka 主题即使在压缩后也使用这么多磁盘空间?

  2. 我可以做些什么来减少我的分区的磁盘空间?仅供参考,在我的情况下,日志压缩不会有效,因为每条消息都将有一个唯一的密钥。

标签: apache-kafkabroker

解决方案


推荐阅读