将消息发布到 kafka 主题时出错

时间:2021-03-03 02:35:54

标签: apache-kafka schema producer

我是卡夫卡的新手。我编写了一个简单的 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**

1 个答案:

答案 0 :(得分:0)

问题是 kafka 生产者默认尝试在主题上注册架构。所以,我添加了以下内容 - properties.put(KafkaAvroSerializerConfig.AUTO_REGISTER_SCHEMAS, false); 它解决了这个问题。

相关问题