我们有一个内存不足的错误,导致数以亿计的重复消息被添加到主题中。有没有办法暂停所有服务,修复主题并删除重复的内容?卡夫卡新手来了..。
发布于 2021-04-18 06:12:04
Kafka记录是不可变的,这意味着您无法删除或更新记录。Kafka分区是仅附加的结构。
但如果您使用delete retention policy
作为topic,并且这些重复消息具有相同的密钥,则可以通过将delete.retention.ms
配置更新为少量来删除重复消息。这称为日志压缩。同样,只有当重复的消息具有相同的键时,这才有效。
如果它们没有相同的密钥,我猜你可以做的是:
删除此主题中的所有记录到内存或data store.
或者你也可以这样做:
但在执行此过程时,应仔细考虑数据丢失。
发布于 2021-11-08 06:39:35
您可以使用紧凑主题(cleanup.policy = compact)来减少内存,但使用此配置不能获得唯一记录。
https://stackoverflow.com/questions/67143325
复制相似问题