kafka主题(topic)数据保留时间设置

kafka主题(topic)消息清理记录

服务器磁盘试用率超出80%,通过巡检查看是由于kafka的log目录下占用较多,命令查看当前目录下的磁盘试用情况。这样我们就列出当前目录下占用最多的10个文件或目录。

cpp 复制代码
du -ah --max-depth=1 . | sort -hr | head -n 10

比较明显的看出,是kafka主题占用较多,通过去topic中查看发现数据文件保存时间已经超出3个月的时间,但是在kafka下的config/server.properties配置文件中

c 复制代码
log.retention.hours=168

已经配置为了7天。但是没有生效。

怀疑可能是主题在创建是进行过独立设置,于是我们进行排查。

cpp 复制代码
bin/kafka-configs.sh --zookeeper 172.0.0.1:2181 --describe --entity-type topics --entity-name iot_monitor

查看主题保留数据时间,输出内容为。

c 复制代码
Configs for topic 'iot_monitor' are max.message.bytes=5242880,retention.ms=15552000000`

可以看到主题实际的数据过期时间为180 天(≈6 个月) 。

于是我们开始手动设置

c 复制代码
./kafka-configs.sh --zookeeper 172.0.0.1:2181(这里要修改为你实际的zk地址) --alter --entity-type topics --entity-name iot_monitor --add-config retention.ms=604800000

设置完成之后,可以再通过上次执行的命令进行查看。2-3分钟之后,我们再进行查看磁盘空间的大小,以及主题的数据保留时间发现生效了。不过这里的生效只是零时,当重启kafka之后就会失效。

相关推荐
阿里云云原生3 天前
数据链路再精简:Kafka 如何做到“零 ETL”一键写入 Apache Iceberg?
kafka
阿里云云原生10 天前
告别冗长链路!Kafka × Table Bucket 实现开放表格式零 ETL 实时入湖
云原生·kafka
风吹夏回16 天前
RabbitMQ 核心术语 + Python pika 方法完整讲解
分布式·python·rabbitmq
风吹夏回16 天前
RabbitMQ 三种模式入门:HelloWorld、WorkQueue、PubSub
分布式·rabbitmq·ruby
霸道流氓气质16 天前
分布式追踪与 RequestId 传播完全指南
分布式
cheems952716 天前
[RabbitMQ高级特性] 消息确认机制:从 Ready / Unacked 到 basicAck、basicReject、basicNack 的底层拆解
分布式·rabbitmq·ruby
whaledown16 天前
Kafka 与 Java 消息队列入门:用订单场景理解核心机制
java·kafka·消息队列·springboot
枫华落尽16 天前
【Hadoop01-完全分布式运行模式】
分布式
隔壁阿布都16 天前
ShedLock 分布式定时任务锁框架介绍
spring boot·分布式
文艺倾年16 天前
【强化学习】数学推导专题,20W字总结(十五)
人工智能·分布式·大模型·强化学习·vibecoding