我可以在日志中看到一个错误,即名称为A.Abc-key的主题不存在。我列出了所有主题,并确认A.Abc-密钥不存在但A.Abc值存在
在检查同一主题的属性键时,我收到以下错误:
./kafka-avro-console-consumer --bootstrap-server http://localhost:9092 --from-beginning --property print.key = true --topic A.Abc
null Processed a total of 1 messages
[2018-09-05 16:26:45,470] ERROR Unknown error when running consumer: (kafka.tools.ConsoleConsumer$:76)
org.apache.kafka.common.errors.SerializationException: Error deserializing Avro message for id 80
Caused by: java.net.ConnectException: Connection refused (Connection refused)
at java.net.PlainSocketImpl.socketConnect(Native Method)
我不太热衷于调试和解决这个问题。
您的错误与HTTP有关,因此请确保您的注册表在localhost上运行,因为您尚未指定它
并验证A.Abc密钥不存在
然后您的密钥不是Avro,但是如果您添加打印密钥属性,Avro控制台消费者将尝试将您的密钥反序列化为Avro
您可以尝试添加key-deserializer
,如果您的注册表不在localhost上,则必须指定它
--property schema.registry.url="http://..." \
--property key-deserializer=org.apache.kafka.common.serialization.StringDeserializer \
--property print.key=true