tan*_*507 7 message-queue stream-compaction apache-kafka retention
我在Kafka 0.8.1.1中的server.properties文件中进行了更改,即在创建主题时添加log.cleaner.enable=true并启用cleanup.policy=compact了.现在,当我测试它时,我将以下消息推送到主题,其中包含以下内容(Key,Message).
现在我用与早期输入相同的键推送第4条消息,但更改了消息.这里的日志压缩应该会出现.使用Kafka工具,我可以看到主题中的所有4个偏移.我怎么知道日志压缩是否有效?是否应删除先前的消息,或者在推送新消息时日志压缩工作正常.是否有做的任何事情log.retention.hours或topic.log.retention.hours或log.retention.size配置?这些配置在日志压缩中的作用是什么.PS - 我已经彻底浏览了Apache文档,但仍然不清楚.
小智 8
即使这个问题已经有几个月了,我也只是在为自己的问题做研究.我创建了一个最小的例子来看看压缩如何与Java一起工作,也许它对你也有帮助:
https://gist.github.com/anonymous/f78184eaeec3ee82b15182aec24a432a
此外,在查阅文档时,我在主题级别使用了以下配置,以便尽快启动压缩:
min.cleanable.dirty.ratio=0.01
cleanup.policy=compact
segment.ms=100
delete.retention.ms=100
Run Code Online (Sandbox Code Playgroud)
运行时,此类显示压缩有效 - 只有一条消息在主题上具有相同的键.
通过适当的设置,这可以在命令行上重现.
实际上,只有当日志数量达到很高的数量(例如100万)时,日志压缩才可见。所以,如果你有这么多数据,那就太好了。否则,使用配置更改,您可以将此限制减少到 100 条消息,然后您可以看到在具有相同键的消息中,只有最新的消息会存在,之前的消息将被删除。如果每次都有数据的完整快照,最好使用日志压缩,否则您可能会丢失具有相同关联键的先前日志,这可能很有用。
| 归档时间: |
|
| 查看次数: |
6311 次 |
| 最近记录: |