apache-kafka - 向 kafka 主题发布消息时出错
问题描述
我是卡夫卡的新手。我编写了一个简单的 JAVA 程序来使用 avro 模式生成消息。我已经生成了一个特定的记录。记录生成成功。我的架构尚未在我的本地环境中注册。它当前已在其他环境中注册。
我正在使用 apache kafka 生产者库将消息发布到我的本地环境 kafka 主题。我可以将消息发布到本地主题还是模式也需要在本地模式注册表中注册。
以下是生产者属性 -
properties.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
properties.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, KafkaAvroSerializer.class);
properties.put(KafkaAvroSerializerConfig.SCHEMA_REGISTRY_URL_CONFIG, "https://schema-registry.xxxx.service.dev:443");```
Error I am getting while publishing the message -
``` org.apache.kafka.common.errors.SerializationException: Error registering Avro schema:
Caused by: io.confluent.kafka.schemaregistry.client.rest.exceptions.RestClientException: User is denied operation Write on Subject: xxx.avro-value; error code: **40301**
解决方案
问题是 kafka 生产者默认尝试在主题上注册模式。因此,我添加了以下内容 - properties.put(KafkaAvroSerializerConfig.AUTO_REGISTER_SCHEMAS, false); 它解决了这个问题。
推荐阅读
- r - 如何获取所有行的共享和非共享 True 和 false 的数量
- sql - 如何合并具有相似值的两行?
- html - 为什么在 1440 像素宽度的屏幕上查看时,我的社交媒体页脚图标在屏幕外?
- python - 在多个空格但不是单个空格上拆分字符串
- java - 如果条件为真,我如何每秒自动运行一个按钮,直到 de 条件成立?
- github - 在 /blog 目录中安装 Gatsby
- python - 我的 base 10 或一般代码有什么问题
- java - 如何在 TextView 中压倒自动调整大小?
- javascript - Redux 商店在刷新浏览器时不刷新(清除)
- amazon-web-services - S3 存储桶策略不允许 Athena 执行查询