我尝试将Kafka主题的保留期设置为1000 ms,以删除主题上不需要的消息。
bin/kafka-configs.sh --zookeeper my-zookeeper:2181 --alter --entity-type topics --entity-name my_logger --add-config retention.ms=1000,segment.bytes=14
字符串
该命令工作正常,当我描述主题时,我可以看到新的值,但是当我使用
bin/kafka-consumer-groups.sh --bootstrap-server my-bootstrap-server --group my-connector --describe
型
我可以看到t的LAG值仍然是相同的,它没有改变。
我在这里做错了什么?我如何触发保留期?
Kafka版本为2.3.0
2条答案
按热度按时间vsaztqbk1#
您还应该更改log.roll.ms。
log.roll.ms:每个分区划分为段日志(log.segment.bytes)。
这个配置控制了一段时间,在这段时间之后,即使段文件没有满,Kafka也会强制日志滚动,以确保保留可以删除或压缩旧数据。默认情况下,每7天会滚动一个新的日志段。
但请注意,您应该在删除邮件后更改这些字段,因为小段可能会导致严重的性能问题。
jaql4c8m2#
删除来自Kafka的消息比它看起来要复杂得多。以下博客提供了影响删除来自Kafka的消息的各种因素的一瞥。
Understanding Kafka's Internal Storage and Log Retention