首页 > 解决方案 > Kafka:每 1GB 自动刷新数据

问题描述

我必须为自动删除或自动清除 Kafka 代理中某个主题的数据设置哪个属性。

我尝试编辑以下属性,但没有任何区别。

log.retention.ms
log.retention.byte
log.retention.check.interval.ms

但是,只要达到 1 GB,它就不会删除刷新所以,在下面的属性和上面的属性中未注释

log.flush.interval.messages
log.flush.interval.ms

我可以将这些属性的值增加多少,它正在删除最大 180 MB 左右的数据。

如何在特定主题的数据达到 1GB 时自动删除数据。

标签: apache-kafka

解决方案


log.retention.mslog.retention.bytes是代理的属性,在创建主题时用作默认值。当您使用 kafka-topics.sh 更改当前正在运行的主题的配置时,您应该指定一个主题级别的属性。

日志保留时间的主题级属性是retention.msretention.bytes

尝试以下命令按时间设置保留:

bin/kafka-topics.sh --zookeeper zk.yoursite.com --alter --topic as-access --config retention.ms=86400000

尝试以下命令按大小设置保留:

bin/kafka-topics.sh --zookeeper zk.yoursite.com --alter --topic as-access --config retention.bytes=1048576

验证属性是否设置为主题的命令:

bin/kafka-topics.sh --describe --zookeeper zk.yoursite.com --topic as-access

然后你会看到类似下面的东西。

主题:as-access PartitionCount:3 ReplicationFactor:3 Configs:retention.ms=86400000


推荐阅读