当前位置: 首页 > 知识库问答 >
问题:

更新cp模式注册表:3.2.2到6.2.0结束于清理策略问题

丁雅逸
2023-03-14

我正在更新一个docker-compose文件cp-schema-registry:3.2.2到6.2.0。动物园管理员CP-动物园管理员图像和CP-Kafka也会更新。

如果文件重新启动,架构注册表会抱怨预期的策略:

[2021-08-24 10:19:41,630] ERROR The retention policy of the schema topic _schemas is incorrect. You must configure the topic to 'compact' cleanup policy to avoid Kafka deleting your schemas after a week. Refer to Kafka documentation for more details on cleanup policies (io.confluent.kafka.schemaregistry.storage.KafkaStore)

如果我在Kafka image cp Kafka:6.2.0Kafka_LOG_CLEANUP_policy:compact中设置此策略,乍一看似乎是可行的。

docker-compose系统似乎已经建立。docker-compose文件向代理发送许多主题。

在给Kafka发了一个话题后,经纪人开始抱怨。

The system will be filled with topics and at the end the broker complains about:
[2021-08-20 09:05:55,019] ERROR [ReplicaManager broker=1] Error processing append operation on partition my-topic-bus-0 (kafka.server.ReplicaManager)
org.apache.kafka.common.InvalidRecordException: One or more records have been rejected

2021-08-20 07:55:28.543  WARN 8 --- [ad | producer-2] org.apache.kafka.common.protocol.Errors  : Unexpected error code: 87.

如果搞清楚87意味着

INVALID_RECORD(87, "This record has failed the validation on broker and hence will be rejected.", InvalidRecordException::new),

我真的很想知道KAFKA_LOG_CLEANUP_POLICY:delete是在KAFKA和默认值中设置的。此外,模式注册中心开始抱怨。到处搜索,在这里阅读,在那里阅读,询问一些我不了解问题的根源以及如何解决问题的同事。有人想把这些话题删掉作为清理政策吗?

谢谢,马库斯

共有1个答案

姜钧
2023-03-14

我假设您已经阅读了Apache Kafka和Confluent Platform这两个版本之间的所有发布和升级说明?Kafka内部有几个主题格式更改需要解决(例如log.message.format.versioninter.broker.protocol.version)。

如果您尚未完成这些配置,那么这可以解释您的错误,并且影响的不仅仅是注册表。

您不应该修改所有主题的默认清理策略来仅修复_schemas主题。

相反,您应该只启动代理,然后使用kafka-主题-改变-主题_schemas来修改它,然后在使用kafka-主题-描述-主题_schemas后启动注册表并查看cleanup.policy=紧凑

 类似资料:
  • 要实现完美的多分辨率适配效果,UI 元素按照设计分辨率中规定的位置呈现是不够的,当屏幕宽度和高度发生变化时,UI 元素要能够智能感知屏幕边界的位置,才能保证出现在屏幕可见范围内,并且分布在合适的位置。我们通过 Widget(对齐挂件) 来实现这种效果。 下面我们根据要对齐元素的类别来划分不同的对齐工作流: 需要贴边对齐的按钮和小元素 对于暂停菜单、游戏金币这一类面积较小的元素,通常只需要贴着屏幕边

  • 我试图从REST代理发布json模式,但遇到异常 curl-k-x post-h“content-type:application/vnd.schemaregistry.v1+json”--数据“{”schema“:”{“type”:“object”,“properties”:{“firstname”:{“type”:“string”},“lastname”:{“type”:“string”},“

  • 我正在使用融合模式注册表和Avro,我想在一个Kafka主题中使用多个模式。 默认主题命名策略不允许这样做,因为它将模式主题名称与主题名称耦合。显然可以覆盖它并将主题命名策略设置为或。 不幸的是,留档不太清楚如何或在哪里可以覆盖主题命名策略。 本文档建议您在创建或修改主题时提供配置: 从Confluent Platform 5.5.0开始,命名策略与主题相关联。因此,您现在可以选择在每个主题的基础

  • AWS Java 开发工具包是否提供与胶合模式注册表进行交互的任何方法?我正在寻找诸如注册架构,更新已注册架构的版本,删除架构等方法。我知道aws提供了这里提到的Python库方法 我正在寻找与注册表交互的Java方式。类似于Spring云模式注册表 AWS Glues还提供endpoint,但我不确定它们是否允许我与胶水模式注册表进行交互。 这个SO问题建议遵循aws提供的示例,但我正在专门寻找

  • 我现在一直在查看Spring Cloud模式注册表和汇合模式注册表。我可以看到一些区别,例如Spring Cloud模式注册表将模式保存在普通数据库中,默认情况下保存在h2中,而汇合模式注册表保存在kafka主题中。 spring云模式注册表的这种方法是否会对性能产生任何影响。据我所知,即使数据保留在主题上,以防汇合,查询它时仍然会有延迟。但会有重大影响吗? 我还可以看到,spring云模式注册表

  • 主要内容:介绍,实现,Strategy.java,OperationAdd.java,OperationSubtract.java,OperationMultiply.java,Context.java,StrategyPatternDemo.java在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 contex