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

使用kafka-avro-console-consumer消费spring cloud stream kafka发送的avro消息时出错

齐成双
2023-03-14

我用本地安装的Confluent4.0.0尝试了官方模式-注册表-汇合示例(Consumer/Producer),它可以在发送post请求和在listener接收时发送“Sensor”avro消息,但当我使用Confluent4.0.0附带的kafka-avro-console-consumer工具查看发送的avro消息时,该工具引发了以下错误(a)。我还尝试使用kafka-avro-console-producer工具发送的avro消息(并且消息可以在kafka-avro-console-consumer工具中正确显示),它报告了以下错误(b)。给出的示例不支持汇流4.0.0吗?多谢!

(a)kafka-avro-console-consumer错误=>

错误运行Consumer:(kafka.tools.ConsoleConsumer$:107)org.apache.kafka.common.errors.serializationexception:反序列化id-1的Avro消息时出错,原因是:org.apache.kafka.common.errors.serializationexception:未知的魔术字节!

(b)侦听器错误=>

org.SpringFramework.Messaging.Converter.MessageConversionException:无法读取JSON:字符#1,字节#7处的UTF-32字符0x51473863(0x0010FFFF以上)无效;嵌套异常为java.io.CharConversionException:字符#1,字节#7处的UTF-32字符0x51473863(0x0010FFFF以上)无效

共有1个答案

桑宇
2023-03-14

每次出现MessageConversionException时,它只是表示提供的消息转换器无法转换消息。...所以我们不能处理每一种情况,只能处理常见的情况。因此,您应该实现自定义消息转换器(或者从头开始,或者扩展现有的消息转换器之一)。下面是关于如何定义自定义消息转换器的更多信息https://docs.spring.io/spring-cloud-stream/docs/fishtown.m1/reference/htmlsingle/#spring-cloud-stream-overview-user-defined-message-converters

 类似资料:
  • 我有一个应用程序,它定期生成原始JSON消息数组。我能够使用avro-tools将其转换为Avro。我这样做是因为由于Kafka-Connect JDBC接收器的限制,我需要消息包含模式。我可以在记事本上打开这个文件,看到它包括模式和几行数据。 现在,我想将其发送到我的中央Kafka代理,然后使用Kafka Connect JDBC接收器将数据放入数据库。我很难理解我应该如何将这些Avro文件发送

  • 我试图解析一条Kafka消息,它是以某种加密的AVRO格式。我有以下AvroSchema。avsc avro架构文件: 现在,我编写了以下代码来获取JSON格式的数据: 请帮我解密这封信。 加密字节消息属于以下类型:<代码>080-21-0001:�哦�@@��A.�ǐ�U:�哦�@@��A 我按照建议进行了更改,现在我有以下代码: 但我仍然得到错误为“不是数据文件”。

  • 我已经建立了一个由3个节点组成的AWS集群。我修改了节点的/etc/hosts文件,看起来像这样 当我从其中一个节点运行命令时 bin/kafka-console-consumer.sh --bootstrap-server kafka1:9092 --topic first_topic --from-start 它可以工作,但是当我用ip替换主机名并用下面的命令运行它时 bin/kafka-co

  • 我想使用spring-Kafka库使用spring boot配置的消费者来使用来自Kafka代理的消息,源是一个JDBC连接器,它负责从MySQL数据库提取消息,这些消息需要被使用 下面是我的application.yml文件

  • 我正在尝试使用kafka-avro-convore-生产者发布一条具有键(带有模式)和值(带有模式)的消息。kafka环境(kafka的conFluent 6.2.0版本、连接、zoomaster、模式注册表)都正确启动,我可以确认我的连接器已安装。问题是当我发送消息时,我的Sink连接器失败并出现我无法诊断的错误。 感谢您的帮助: 我生成一条AVRO消息,如下所示: 并在连接日志中接收以下错误:

  • 我试图使用ConsumerSeeKaware,阅读kafka主题中可用的最后一条消息。消息类型是Avro对象列表。我能成功地做到这一点。但在反序列化过程中会失败。该消息使用spring-cloud-stream-kafka框架生成。消息具有contentType。 我知道avro消息可以像下面这样反序列化。 但不管用。可能是因为两件事。 > 消息是avro对象的列表。但我正在尝试使用Avro模式创