我已经通过下面的命令设置了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一个小时后不删除数据的建议吗。?
3条答案
按热度按时间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
zour9fqk2#
检查
log.retention.check.interval.ms
.此值影响日志清理器。它将检查在此间隔内是否有任何日志可以删除。
ou6hu8tu3#
在descripe命令结果中,主题保留策略设置为
compact
它将启用日志压缩而不是删除,并将保留每个密钥的最新数据。要删除所有早于保留期的数据,需要将保留策略设置为delete
.