如何在运行时修改Kafka全局留存周期且无需重启服务
Kafka全局动态调整留存周期(无需重启操作指南)
操作前提
Kafka版本高于0.11.0.0,支持动态Broker配置特性,无需修改静态配置文件、无需重启服务即可生效。
操作步骤
- 执行全局配置修改命令
进入Kafka安装根目录,执行以下命令:
bin/kafka-configs.sh --bootstrap-server <kafka_broker_host:port> --entity-type brokers --entity-default --alter --add-config log.retention.hours=<目标留存小时数>
参数说明:
<kafka_broker_host:port>替换为集群任意一个可用Broker的访问地址<目标留存小时数>替换为你需要设置的留存时长,例如要设置3天留存则填写72
- 验证配置生效
执行以下命令查看全局默认Broker配置,确认log.retention.hours值为你设置的目标值即可:
bin/kafka-configs.sh --bootstrap-server <kafka_broker_host:port> --entity-type brokers --entity-default --describe
注意事项
- 动态配置优先级高于
server.properties中的静态配置,若后续需要恢复使用静态配置,可执行以下命令删除已设置的动态全局留存配置:
bin/kafka-configs.sh --bootstrap-server <kafka_broker_host:port> --entity-type brokers --entity-default --alter --delete-config log.retention.hours
- 配置调整完成后,Kafka会在下一轮消息清理周期自动触发过期消息清理,无需额外操作
- 若部分Topic之前单独配置过Topic级别的留存规则,这些Topic会优先使用自身的配置,不受本次全局配置调整影响
内容的提问来源于stack exchange,提问作者Ravi Teja RVN
相关产品推荐
相关产品推荐

