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

合流架构注册表超时错误

丘普松
2023-03-14

我正在使用Avro模式向Kafka主题写入数据。起初,一切正常。在avro文件中添加多一个新字段(scan_app_id)后。我正面临这个错误。

Avro文件:{

“type”:“record”,“name”:“initiate_scan”,“namespace”:“avro”,“doc”:“initiate_scan的avro架构注册表”,“fields”:[{“name”:“app_id”,“type”:“string”,“doc”:“3 digit application id”},

{
  "name": "app_name",
  "type": "string",
  "doc": "application name"
},
{
  "name": "dev_stage",
  "type": "string",
  "doc": "development stage"
},
{
  "name": "scan_app_id",
  "type": "string",
  "doc": "unique scan id for an app in Veracode"
 },
{
  "name": "scan_name",
  "type": "string",
  "doc": "scan details"
},
{
  "name": "seq_num",
  "type": "int",
  "doc": "unique number"
},
{
  "name": "result_flg",
  "type": "string",
  "doc": "Y indicates results of scan available",
  "default": "Y"
},
 {
   "name": "request_id",
   "type": "int",
   "doc": "unique id"
 },
  {
    "name": "scan_number",
    "type": "int",
    "doc": "number of scans"
  }   ] }

错误:原因:org.apache.kafka.common.errors.SerializationException:注册Avro架构时出错:{“type”:“record”,“name”:“initiate_scan”,“namespace”:“Avro”,“doc”:“initiate_scan的Avro架构注册表”,“fields”:[{“name”:“app_id”,“type”:{“type”:“string”,“Avro.java.string”:“string”},“doc”:“3位应用程序id”},{“name”:“app_name”,“,”doc“:”扫描次数“}]}

使用timeoutMillis=9223372036854775807 ms关闭Kafka生产者的信息。(org.apache.kafka.clients.producer.kafkaProducer:1017)原因:io.confluent.kafka.SchemaRegistry.client.Rest.Excepthtml" target="_blank">ions.RestClientException:注册操作超时;错误代码:50002位于io.confluent.kafka.schemaregistry.client.rest.restservice.sendHttpRequest(restservice.java:182)位于io.confluent.kafka.schemaregistry.client.rest.restservice.registerschema(restservice.java:203)位于io.confluent.kafka.schemaregistry.client.rest.restservice.registerschema(restservice.java:292)位于Dserializer$wrapper.serialize(extendedserializer.java:65)位于org.apache.kafka.common.serialization.extendedserializer.java:55)位于org.apache.kafka.clients.producer.kafkaproducer.dosend(kafkaproducer.768)位于org.apache.kafka.clients.producer.kafkaproducer.send(kafkaproducer.send(kafkaproducer.745)位于

我查阅了关于50002错误的汇流文档,上面写着

架构应与先前注册的架构兼容。

这是否意味着我不能更改/更新现有架构?

怎么解决这个?

共有1个答案

寇宏义
2023-03-14

实际上,链接显示50002-Operation timed out。如果它确实是不相容的,答复实际上会这样说。

在任何情况下,如果添加新字段,则需要定义default值。

这样,任何使用较新的模式定义的、正在读取较旧消息的使用者都知道要为该字段设置什么值。

我发现的允许Avro更改的简单列表是Oracle提供的

可能的错误有:

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

  • 我正在尝试从模式注册表中检索给定kafka主题的模式主题版本。我可以使用成功发布新版本,但我不确定如何检索版本。我在下面尝试使用curl请求,但结果立即命中-1(空)。 我如何修复这个GET请求,或者更好的是,我应该如何使用模式注册中心来检索一个模式?

  • 嘿,我想将ConFluent模式注册表与Avro Serializers一起使用:留档现在基本上是说:不要为多个不同的主题使用相同的模式 谁能解释一下原因吗?我重新搜索了源代码,它基本上将模式存储在Kafka主题中,如下所示(topicname,magicbytes,version- 因此,除了冗余之外,我看不到多次使用模式的问题?

  • 我们正在尝试将NiFi连接到合流Kafka实例,该实例已设置为在以Avro格式发布/使用消息时使用合流模式注册表。 但是,当我们启动NiFi kafka处理器时,我们会遇到以下异常:

  • 我已经在Ubuntu 16.04机器上安装了合流平台,并初步配置了zookeeper、Kafka和ksql,启动了合流平台。我可以看到下面的消息。 现在一切都启动了,当我检查融合平台的状态时,我观察到Schema注册表,连接 我已经检查了schema注册表的日志,找到了下面的日志。

  • 我正在了解Confluent的模式注册表,以满足所有模式管理需求。 我不太理解他们的版本控制方法...有一个的概念,我将其视为一个名称空间。据我所知,subject在模式注册表中必须是唯一。 然后是模式id,或者只是,它也是唯一的。 最后,还有一个。 以下是文档中的片段: :此主题的架构版本,每个主题从1开始 :全局唯一的架构版本id,在所有主题中的所有架构中都是唯一的 因此,一旦我想修改特定主题