微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将消息发布到 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); 它解决了这个问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。