2016-09-21 77 views
3

我使用的是从汇合3.0.0和错误kafka-avro-console-producer当我执行下面出现:卡夫卡的Avro控制台制片快速启动失败

./bin/kafka-avro-console-producer --broker-list localhost:9092 --topic test1234 --property value.schema='{"type":"record","name":"myrecord","fields":[{"name":"f1","type":"string"}]}' 
SLF4J: Class path contains multiple SLF4J bindings. 
SLF4J: Found binding in [jar:file:/Users/tonydao/dev/bin/confluent-3.0.0/share/java/kafka-serde-tools/slf4j-log4j12-1.7.6.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: Found binding in [jar:file:/Users/tonydao/dev/bin/confluent-3.0.0/share/java/confluent-common/slf4j-log4j12-1.7.6.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: Found binding in [jar:file:/Users/tonydao/dev/bin/confluent-3.0.0/share/java/schema-registry/slf4j-log4j12-1.7.6.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. 
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] 
{"f1":"value1"} 
{"f1":"value2"} 

org.apache.kafka.common.errors.SerializationException: Error deserializing json to Avro of schema {"type":"record","name":"myrecord","fields":[{"name":"f1","type":"string"}]} 
Caused by: java.io.EOFException 
    at org.apache.avro.io.JsonDecoder.advance(JsonDecoder.java:138) 
    at org.apache.avro.io.JsonDecoder.readString(JsonDecoder.java:219) 
    at org.apache.avro.io.JsonDecoder.readString(JsonDecoder.java:214) 
    at org.apache.avro.io.ResolvingDecoder.readString(ResolvingDecoder.java:201) 
    at org.apache.avro.generic.GenericDatumReader.readString(GenericDatumReader.java:363) 
    at org.apache.avro.generic.GenericDatumReader.readString(GenericDatumReader.java:355) 
    at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:157) 
    at org.apache.avro.generic.GenericDatumReader.readField(GenericDatumReader.java:193) 
    at org.apache.avro.generic.GenericDatumReader.readRecord(GenericDatumReader.java:183) 
    at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:151) 
    at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:142) 
    at io.confluent.kafka.formatter.AvroMessageReader.jsonToAvro(AvroMessageReader.java:189) 
    at io.confluent.kafka.formatter.AvroMessageReader.readMessage(AvroMessageReader.java:157) 
    at kafka.tools.ConsoleProducer$.main(ConsoleProducer.scala:55) 
    at kafka.tools.ConsoleProducer.main(ConsoleProducer.scala) 
+0

你有没有解决这个问题?我有与上面完全相同的问题。我有所有的服务运行。我输入: {“f1”:“value1”} 然后收到异常。我也有控制台消费者运行,它从来没有得到消息。这是我第一次尝试kafka,并从未下载过其他版本。我尝试过多种价值观并试图创造一个新话题。所有的都有相同的例外。 –

+0

这是一回,所以我现在不记得了。但是,在键入消息后,请不要按,而应该尝试执行Ctrl + C。 – Glide

回答

2
  1. 请确保您正在运行的所有的所需服务(zookeeperkafka serverschema registry)仅来自合流kafka包。
  2. 你可能更早使用卡夫卡的一些其他版本在同一台服务器上,并且可能需要清洁日志目录(/tmp/kafka是默认的)
  3. 确保你不打Enter没有,因为它被认为是提供数据null并导致异常。
  4. 尝试一个全新的主题