未能向kafka brokers生成java.nio.bufferunderflowexception

bmp9r5qi  于 2021-06-08  发布在  Kafka
关注(0)|答案(1)|浏览(547)

我可以从kafka-console-producer.sh生成消息,但是java客户端无法生成消息,下面提到了一个例外。
使用Java7,kafka版本是0.8.2.1
出现异常

  1. java.nio.BufferUnderflowException
  2. at java.nio.Buffer.nextGetIndex(Buffer.java:498)
  3. at java.nio.HeapByteBuffer.getLong(HeapByteBuffer.java:406)
  4. at kafka.api.ProducerResponse$$anonfun$1$$anonfun$apply$1.apply(ProducerResponse.scala:40)
  5. at kafka.api.ProducerResponse$$anonfun$1$$anonfun$apply$1.apply(ProducerResponse.scala:36)
  6. at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
  7. at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
  8. at scala.collection.immutable.Range.foreach(Range.scala:141)
  9. at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
  10. at scala.collection.AbstractTraversable.map(Traversable.scala:105)
  11. at kafka.api.ProducerResponse$$anonfun$1.apply(ProducerResponse.scala:36)
  12. at kafka.api.ProducerResponse$$anonfun$1.apply(ProducerResponse.scala:33)
  13. at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251)
  14. at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251)
  15. at scala.collection.immutable.Range.foreach(Range.scala:141)
  16. at scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:251)
  17. at scala.collection.AbstractTraversable.flatMap(Traversable.scala:105)
  18. at kafka.api.ProducerResponse$.readFrom(ProducerResponse.scala:33)
  19. at kafka.producer.SyncProducer.send(SyncProducer.scala:114)
  20. at kafka.producer.async.DefaultEventHandler.kafka$producer$async$DefaultEventHandler$$send(DefaultEventHandler.scala:275)
  21. at kafka.producer.async.DefaultEventHandler$$anonfun$dispatchSerializedData$2.apply(DefaultEventHandler.scala:113)
  22. at kafka.producer.async.DefaultEventHandler$$anonfun$dispatchSerializedData$2.apply(DefaultEventHandler.scala:105)
  23. at scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(TraversableLike.scala:772)
  24. at scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:98)
  25. at scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:98)
  26. at scala.collection.mutable.HashTable$class.foreachEntry(HashTable.scala:226)
  27. at scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:39)
  28. at scala.collection.mutable.HashMap.foreach(HashMap.scala:98)
  29. at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:771)
  30. at kafka.producer.async.DefaultEventHandler.dispatchSerializedData(DefaultEventHandler.scala:105)
  31. at kafka.producer.async.DefaultEventHandler.handle(DefaultEventHandler.scala:78)
  32. at kafka.producer.Producer.send(Producer.scala:78)
  33. at kafka.javaapi.producer.Producer.send(Producer.scala:35)
  34. at com.myapplication.kafka.KafkaProducer.write(KafkaProducer.java:40)

关于如何调试有什么建议吗?

ryevplcw

ryevplcw1#

发生这种情况是因为kafka客户机生成的消息使用的是0.10jar,kafka集群使用的是0.8.2.1
添加适当的kafka依赖0.8.2.1解决了这个问题。

相关问题