set config retention.ms=3600000仍然无法从kafka中删除数据

7fhtutme  于 2021-06-07  发布在  Kafka
关注(0)|答案(3)|浏览(499)

我已经通过下面的命令设置了retention.ms=3600000,但是1小时后磁盘上仍然有很多数据。我的磁盘满了,因为Kafka收到了大量的数据。

./bin/kafka-topics.sh --zookeeper zookeeper:2181 --alter --topic topic_1 --config retention.ms=3600000

描述命令

./bin/kafka-topics.sh --zookeeper zookeeper:2181 --describe --topics-with-overrides
    Topic:__consumer_offsets        PartitionCount:50       ReplicationFactor:3     Configs:segment.bytes=104857600,cleanup.policy=compact,compression.type=producer
    Topic:topic_1    PartitionCount:3        ReplicationFactor:3     Configs:retention.ms=3600000
    Topic:topic_2    PartitionCount:3        ReplicationFactor:3     Configs:retention.ms=3600000
    Topic:topic_3    PartitionCount:3        ReplicationFactor:3     Configs:retention.ms=3600000,retention.bytes=104857600

有谁能给Kafka一个小时后不删除数据的建议吗。?

dxpyg8gm

dxpyg8gm1#

如文档所示,retention.ms控制kafka在使用“删除”保留策略时丢弃旧日志段以释放空间之前保留日志的最长时间。看起来像你的 cleanup.policy 设置为压缩而不是 delete ```
bin/kafka-configs.sh --zookeeper 2181 --entity-type topics
--entity-name topic_1 --alter --add-config cleanup.policy=delete

ps:不推荐使用kafka-topics.sh脚本(kafka.admin.topiccommand)更改主题配置。接下来,请使用kafka-configs.sh脚本(kafka.admin.configcommand)实现此功能。
zour9fqk

zour9fqk2#

检查 log.retention.check.interval.ms .
此值影响日志清理器。它将检查在此间隔内是否有任何日志可以删除。

ou6hu8tu

ou6hu8tu3#

在descripe命令结果中,主题保留策略设置为 compact 它将启用日志压缩而不是删除,并将保留每个密钥的最新数据。要删除所有早于保留期的数据,需要将保留策略设置为 delete .

./bin/kafka-topics.sh --zookeeper zookeeper:2181 --alter --topic topic_1 --config cleanup.policy=delete

相关问题