我在日志中看到一个错误,提示名称为 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)
我不确定要调试和修复此问题的热度。
答案 0 :(得分:1)
您的错误与HTTP有关,因此请确保注册表未在本地主机上运行
并确认A.Abc键不存在
然后您的密钥不是Avro,但是如果添加了打印密钥属性,则Avro控制台使用者将尝试将密钥反序列化为Avro
您可以尝试添加key-deserializer
,如果您的注册表不在本地主机上,则必须指定它
--property schema.registry.url="http://..." \
--property key-deserializer=org.apache.kafka.common.serialization.StringDeserializer \
--property print.key=true