我已经在Kafka 0.8.1.1中的server.properties文件中进行了更改,即添加了log.cleaner.enable=true并且在创建主题时还启用了cleanup.policy=compact
现在,当我对其进行测试时,我将以下消息推向该主题,并带有以下内容(键,消息)。


偏移:1-(123,abc);
偏移:2-(234,def);
胶印:3-(345,ghi);
偏移:4-(更改为123)


现在,我使用与先前输入相同的键推送了第四条消息,但更改了该消息。在这里,日志压缩应该成为图片。使用Kafka工具,我可以在该主题中看到所有4个偏移量。我怎么知道日志压缩是否有效?如果删除了先前的消息,或者由于推送了新消息,日志压缩工作正常。
它是否必须对log.retention.hourstopic.log.retention.hourslog.retention.size配置执行任何操作?这些配置在日志压缩中起什么作用。
附言-我已经彻底阅读了Apache文档,但是仍然不清楚。

最佳答案

即使这个问题有几个月的历史了,但我还是碰到了这个问题,专门针对自己的问题进行了研究。我创建了一个最小的示例来了解压缩如何与Java一起工作,也许对您也有帮助:

https://gist.github.com/anonymous/f78184eaeec3ee82b15182aec24a432a

此外,在查阅文档时,我在主题级别使用了以下配置来进行压缩,以便尽快启动:

min.cleanable.dirty.ratio=0.01
cleanup.policy=compact
segment.ms=100
delete.retention.ms=100


运行时,此类表明压缩有效-主题上只有一条消息具有相同的键。

使用适当的设置,可以在命令行上重现该设置。

07-24 09:38
查看更多