You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将cp-schema-registry从3.2.2升级到6.2.0后出现清理策略冲突问题

问题解决方法

核心逻辑是不要修改Kafka全局日志清理策略,仅为Schema Registry专用的_schemas主题单独配置compact清理策略,具体操作步骤如下:

步骤1:恢复Kafka全局配置

将你之前在cp-kafka:6.2.0中配置的KAFKA_LOG_CLEANUP_POLICY改回默认值delete,恢复普通业务主题的默认清理规则,从根源解决业务消息无Key时触发的INVALID_RECORD报错。

全局配置为compact的报错原因:compact清理策略要求所有写入的消息必须携带Key,绝大多数业务场景生产消息时不会指定Key,直接触发Broker端消息校验失败,对应你查到的错误码87。

步骤2:单独配置_schemas主题的清理策略

分两种场景处理:

  • 若_schemas主题尚未创建:直接在Schema Registry的容器环境变量中添加如下配置,启动时会自动创建符合要求的主题:
    SCHEMA_REGISTRY_KAFKA_TOPIC_CLEANUP_POLICY: compact
    
  • 若_schemas主题已经存在:直接通过Kafka自带的配置管理工具手动修改主题参数:
    kafka-configs.sh --zookeeper <你的ZooKeeper服务地址> --entity-type topics --entity-name _schemas --alter --add-config cleanup.policy=compact
    

步骤3:验证配置生效

执行如下命令确认_schemas主题的清理策略已修改为compact:

kafka-configs.sh --zookeeper <你的ZooKeeper服务地址> --entity-type topics --entity-name _schemas --describe

确认输出中包含cleanup.policy=compact后,重启Schema Registry服务即可消除策略相关报错。


内容的提问来源于stack exchange,提问作者Clueless

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 01:57:04