Confluent Platform 5.3.2:自动重建_schemas主题如何设cleanup.policy=compact
解决Confluent Platform 5.3.2中_schemas主题自动重建时默认设置cleanup.policy=compact的问题
针对你遇到的问题,有两种可靠的解决方式:
方法1:修改Schema Registry配置文件(推荐)
在Schema Registry的配置文件schema-registry.properties中添加以下配置项,这样当Schema Registry自动创建_schemas主题时,会自动应用指定的清理策略:
# 指定_schemas主题的清理策略为compact kafkastore.topic.config.cleanup.policy=compact # 可根据集群情况补充副本因子配置(示例为3,按需调整) kafkastore.topic.replication.factor=3
修改后重启Schema Registry服务,后续即使_schemas主题被删除后自动重建,也会带上cleanup.policy=compact的配置。
方法2:修改Kafka集群默认主题配置(全局生效)
如果希望所有新创建的Kafka主题默认使用compact清理策略,可以修改Kafka broker的server.properties文件:
default.cleanup.policy=compact
修改后重启所有Kafka broker节点,这样包括_schemas在内的所有自动创建的主题都会默认应用该配置。注意这种方式会影响所有新主题,若仅需针对_schemas主题生效,优先选择方法1。
临时恢复方案(针对当前无法启动的情况)
如果当前Schema Registry因_schemas主题配置缺失无法启动,可先手动创建主题并指定配置,临时恢复服务:
kafka-topics --create --zookeeper <zk-host:port> --topic _schemas --partitions 1 --replication-factor 3 --config cleanup.policy=compact
之后再通过方法1或2配置自动创建时的默认参数,避免后续再次出现问题。
内容的提问来源于stack exchange,提问作者Vineeth NG
相关产品推荐
相关产品推荐

