我可以使用 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了?
暂无答案!
目前还没有任何答案,快来回答吧!