为什么kafka 0.10控制台生产者无法向kafka 0.9发送消息?

时间:2016-08-30 12:13:51

标签: java apache-kafka versions consumer producer

为什么kafka 0.10控制台生产者无法向kafka 0.9发送消息?

我在0.9版本(服务器端)启动kafka console consumer。 我在0.10版本(在客户端)启动kafka控制台生产者。 然后我进入了生产者例外(下面)。

新制作人怎么可能无法向老消费者发送消息? 是否可以将新生产者设置为一种不推荐使用的模式,以便向旧的kafka发送消息?

$ bin \ windows \ kafka-console-producer.bat --broker-list my_server:9092 --topic my_topic

[2016-08-30 14:03:53,365]错误kafka生产者I / O线程中的未捕获错误:(org.apache.kafka.clients.producer.internals.Sender) org.apache.kafka.common.protocol.types.SchemaException:读取字段'broker'时出错:读取字段'host'时出错:读取长度为25452的字符串时出错,只有69字节可用         在org.apache.kafka.common.protocol.types.Schema.read(Schema.java:73)         在org.apache.kafka.clients.NetworkClient.parseResponse(NetworkClient.java:380)         在org.apache.kafka.clients.NetworkClient.handleCompletedReceives(NetworkClient.java:449)         在org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:269)         在org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:229)         在org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:134)         在java.lang.Thread.run(Thread.java:745)

1 个答案:

答案 0 :(得分:2)

Kafka 0.10.0引入了一种新的消息格式。我不完全确定,但看起来你正在向一个对这个明显一无所知的经纪人发送一个带有新格式的消息。

您应该尝试强制0.10生产者使用旧的邮件格式。您可以在此处找到更多信息:http://kafka.apache.org/documentation.html#upgrade_10_breaking