【发布时间】:2022-08-04 13:20:46
【问题描述】:
我们有一个 akka-scala 应用程序,我们正在处理传入的消息。之后,我们尝试将该消息写入一个 kafka 主题,该主题是一个 avro kafka 主题。在编写时,我们得到以下异常:
org.apache.kafka.common.errors.SerializationException:注册 Avro 架构时出错 引起:io.confluent.kafka.schemaregistry.client.rest.exceptions.RestClientException:内部服务器错误;错误代码:500
我们检查了模式注册表工作正常并且主题和版本存在。我们没有注册任何已经存在的新模式。我们正在使用 scala 2.13.8 并尝试使用不同的融合 kafka avro 序列化程序版本,如 5.1.0、5.2.0、5.3.0、6.1.3。你能告诉这可能是什么原因。
-
您需要查看注册表服务器日志。显然,如果它有“内部服务器错误”,它就不能正常工作
-
但是,当我们进入一个 pod 并 curl 到模式注册表端点时,我们得到 200 响应。我们还通过使用来自 pod 的 curl 来检索模式。
-
然后,您的外部客户端正在传递一些服务器无法处理的无关 HTTP 标头/内容,应从日志中指出。您还可以在其属性中设置
debug=true以获取更多信息。没有这些日志,我们无法回答问题可能是什么 -
我们发现它正在尝试注册已经存在的模式。从报告的这个问题来看,在这种情况下我们可能会收到 500 错误:github.com/confluentinc/schema-registry/issues/1715 我正在尝试在生产者设置本身中禁用 auto.register.schemas。
-
是的,生产者总是会尝试注册它的模式。主要是检查兼容性是否在请求之间发生了变化...但是服务器日志仍然会指示真正的错误
标签: scala apache-kafka avro confluent-schema-registry