尝试使用confluent的kafka avro控制台使用者打印kafka记录密钥时出现未知的幻码字节错误

ttygqcqt  于 2021-06-04  发布在  Kafka
关注(0)|答案(0)|浏览(205)

我可以使用 kafka-avro-console-consumer 使用以下命令

./kafka-avro-console-consumer --bootstrap-server kafka-server:9092 --topic som-topic --zookeeper zookeeperserver:2181/kafka --property schema.registry.url=http://schema-registry:8081

但我还要检查记录的钥匙。为此,请按以下步骤调整上一个命令

./kafka-avro-console-consumer --bootstrap-server kafka-server:9092 --topic som-topic --zookeeper zookeeperserver:2181/kafka --property schema.registry.url=http://schema-registry:8081 --property print.key=true --key-deserializer=org.apache.kafka.common.serialization.StringDeserializer

我在尝试这样做时遇到的错误如下

[2020-09-19 13:15:19,373] ERROR Unknown error when running consumer:  (kafka.tools.ConsoleConsumer$:103)
org.apache.kafka.common.errors.SerializationException: Error deserializing Avro message for id -1
Caused by: org.apache.kafka.common.errors.SerializationException: Unknown magic byte!

钥匙只是一根线。它没有模式。我也尝试了以下方法,但同样的错误也失败了

./kafka-avro-console-consumer --bootstrap-server kafka-server:9092 --topic som-topic --zookeeper zookeeperserver:2181/kafka --property schema.registry.url=http://schema-registry:8081 --property print.key=true --property key.schema='{"type":"string"}' --key-deserializer=org.apache.kafka.common.serialization.StringDeserializer

唯一的区别是我为这个键提供了一种虚拟模式。。。有什么想法吗?
//编辑我可以阅读使用简单的控制台消费键。这意味着以下命令不会打印按键

./kafka-console-consumer.sh --bootstrap-server kafka-server:9092 --topic some-topic --property print.key=true --key-deserializer=org.apache.kafka.common.serialization.StringDeserializer

这就产生了这样的东西

FOO:6bc5705c-b936-4d04-843e-e9796818991d     <something_that_looks_like_an_almost_deserialized_byteload>

所以我想第一部分是记录的关键。
那么如何使用avro控制台kafka消费者呢?这样我就可以得到密钥和正确反序列化的avro byteload了?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题