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

Kafka架构注册表在同一主题中不兼容

牛嘉谊
2023-03-14
{"name": "test1", "type": "string"}
{"name": "test2", "type": "string"}
Schema being registered is incompatible with an earlier schema; error code: 409

我很困惑,如果模式注册中心不能演化模式升级/更改,那么我为什么要使用模式注册中心,或者说我为什么要使用AVRO?

共有1个答案

咸昊昊
2023-03-14

backward兼容模式下无法重命名字段。作为一种解决办法,您可以更改架构注册表的兼容性规则。

根据文件:

在主题中注册新架构时,架构注册服务器可以强制执行某些兼容性规则。目前,我们支持以下兼容规则。

不兼容:新模式可以是任何模式,只要它是有效的AVRO。

兼容性设置为应该可以解决这个问题。

# Update compatibility requirements globally
$ curl -X PUT -H "Content-Type: application/vnd.schemaregistry.v1+json" \
    --data '{"compatibility": "NONE"}' \
    http://localhost:8081/config

回应应该是

{"compatibility":"NONE"}
 类似资料:
  • 我有一个docker容器运行AWS弹性容器服务(Fargate)中的confluentinc/cp模式注册表:5.5.0。只有一个容器正在运行。通过该模式注册表获取当前注册模式的API调用正在工作(例如,

  • 我使用的是Kafka confluent schema registry docker镜像,当我在本地测试它时(使用本地安装的Kafka,这可以按预期工作,但当我尝试将其用于远程Kafka集群时,我遇到了一个错误: < code>{"error_code":40401," message ":"未找到主题。io . confluent . rest . exceptions . restnotfo

  • 我有一个关于使用Kafka和主题(Kafka代理)和主题(Schema注册表)的不同名称设置流处理器的问题。 首先,任何操作似乎都可以与 Kafka 代理和模式注册表一起工作,但是如果处理器收到该事件,则模式注册表将魔术开始。 而不是将abc作为主题发送到模式注册表abc。bla将被发送。架构注册表的回答为“未找到”。 预期:localhost:8081/subjects/ABC/versions

  • 对于跨网络汇流平台,我们有一个kafka集群在Premise上,另一个在AWS上,其中数据使用mirror Maker从on-prem复制到AWS。这两个集群都独立于它们自己的模式注册表、rest代理和Connect,这两个集群都有不同的生产者和消费者集,并且选择的主题在集群之间被镜像。 部署schema-registry的最佳实践应该是什么?我们是否应该在on-prem和AWS上有一个主服务器(

  • 这里是我的docker容器: 我的制作人(用Kolin写成) 我的Avro架构: 状态:打开 消息:发送的邮件。 所以我把它发送给KAFKA,在connect(jdbc sink postgres)中,我只将消息(客户端)的属性作为Fields.whitelist而不获得命令id或状态。 4-https://github.com/rodrigodevelms/kafka-registry/blob

  • 我试图使用Avro模式向我的经纪人发送消息,但“我总是收到错误: 2020-02-01 11:24:37.189[nioEventLoopGroup-4-1]错误应用程序-未经处理:POST-/api/orchestration/org。阿帕奇。Kafka。常见的错误。SerializationException:注册Avro架构时出错:io导致“字符串”。汇合的。Kafka。阴谋论。客户Rest