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

使用avro的Kafka控制台制作器

谷梁振
2023-03-14

我试图使用apache kafka二进制文件中的kafka控制台生成器生成消息,并在spring boot中使用消费者设置。消费者使用avro模式。

当消息以json格式生成时,我的消费者抛出异常-“无法序列化”。

我找到了一个解决方案,可以使用“ConFluent Platform 7.1”,它有kafka-avro-console-生产者。它支持avro,但它是企业版。

有没有一种方法可以使用apache kafka本身和kafka控制台生成器生成/使用avro模式的消息?

共有1个答案

曾泳
2023-03-14

默认情况下,kafka-console-生产者只接受UTF8字符串。在内部,它默认使用StringSerializer

kafka avro控制台消费者包装了另一个,它的源代码可用,而不是Enterprise。您至少需要下载融合的kafka avro序列化程序和依赖项,以便使用它生成avro数据,但这也需要您使用模式注册表。

如果您只是想在没有注册表的情况下生成Avro二进制数据,您可以使用Avro BinaryEncoder类,但是,这将要求您在任何消费者中也需要自己的反序列化器,而不是使用Confluent(同样,免费,非企业)提供的反序列化器

 类似资料:
  • Sometimes it’s nice to work with your contracts interactively for testing and debugging purposes, or for executing transactions by hand. Truffle provides you two easy ways to do this via an interactiv

  • 我正在编写一个REST代理,就像合流REST代理一样。它接受JSON负载、模式主题和id,然后将JSON负载作为Avro对象写入流中。当我使用kafka avro控制台消费者阅读消息时,我收到了“未知魔法字节”错误。 这是我的Kafka制作人配置: 这就是REST控制器如何将传入的JSON转换为Avro 这是toAvro方法的实现: 然后将此对象传递给我使用上面给出的属性配置的SchemaVali

  • 当我搜索这个时,我找不到任何信息(可能我搜索了错误的关键字),但我需要一种方法,我可以让调试器在运行时输出我自己的字串,有点像System.out.print语句,但改为控制台窗口。 也许我只是个笨蛋,但我也想在有人告诉我这个问题之前问一下:在您完成程序并创建jar之后,system.out.print、println和printf语句是否会在运行时打印到命令提示符。我的程序使用JFrame和se

  • 了解如何:打开DevTools Console(控制台),堆叠冗余消息或在自己的行上显示它们,清除或保持输出或将其保存到文件,过滤输出,以及了解其他Console(控制台)设置。 TL;DR 以专用面板形式,或作为任何其他面板的抽屉式面板的形式,打开Console(控制台)。 堆叠冗余消息或在自己的行上显示它们。 清除或保持页面之间的输出,或将其保存到文件。 按严重性级别,通过隐藏网络消息,或通过

  • 应用申请和应用查看面板 我的应用 开发者可在该面板查看目前已在知晓云绑定的小程序 申请应用 填写要绑定在知晓云后台的小程序信息, 包括 AppName、AppID 以及 AppSecret 在小程序管理后台配置信任域名 | 配置项 | 域名 | | —————— | ———————————- | | request 合法域名 | https://sso.ifanr.com | | socket 合