问题:
Kafka消费消息时,报错
Error processing message, stopping consumer: (kafka.tools.ConsoleConsumer)java.lang.IllegalArgumentExceptionatjava.nio.Buffer.limit(Buffer.java:267)atkafka.message.Message.sliceDelimited(Message.scala:236)atkafka.message.Message.key(Message.scala:223)atkafka.message.MessageAndMetadata.key(MessageAndMetadata.scala:30)atkafka.tools.ConsoleConsumer)
java.lang.IllegalArgumentException
at java.nio.Buffer.limit(Buffer.java:267)
at kafka.message.Message.sliceDelimited(Message.scala:236)
at kafka.message.Message.key(Message.scala:223)
at kafka.message.MessageAndMetadata.key(MessageAndMetadata.scala:30)
at kafka.tools.ConsoleConsumer)java.lang.IllegalArgumentExceptionatjava.nio.Buffer.limit(Buffer.java:267)atkafka.message.Message.sliceDelimited(Message.scala:236)atkafka.message.Message.key(Message.scala:223)atkafka.message.MessageAndMetadata.key(MessageAndMetadata.scala:30)atkafka.tools.ConsoleConsumeranonfunanonfunanonfunmain1.apply(ConsoleConsumer.scala:168)atkafka.tools.ConsoleConsumer1.apply(ConsoleConsumer.scala:168)
at kafka.tools.ConsoleConsumer1.apply(ConsoleConsumer.scala:168)atkafka.tools.ConsoleConsumeranonfunanonfunanonfunmain1.apply(ConsoleConsumer.scala:166)atscala.collection.Iterator1.apply(ConsoleConsumer.scala:166)
at scala.collection.Iterator1.apply(ConsoleConsumer.scala:166)atscala.collection.Iteratorclass.foreach(Iterator.scala:727)
at kafka.utils.IteratorTemplate.foreach(IteratorTemplate.scala:32)
at scala.collection.IterableLikeclass.foreach(IterableLike.scala:72)atkafka.consumer.KafkaStream.foreach(KafkaStream.scala:25)atkafka.tools.ConsoleConsumerclass.foreach(IterableLike.scala:72)
at kafka.consumer.KafkaStream.foreach(KafkaStream.scala:25)
at kafka.tools.ConsoleConsumerclass.foreach(IterableLike.scala:72)atkafka.consumer.KafkaStream.foreach(KafkaStream.scala:25)atkafka.tools.ConsoleConsumer.main(ConsoleConsumer.scala:166)
at kafka.tools.ConsoleConsumer.main(ConsoleConsumer.scala)
Consumed 0 messages
解决方案:
检查代码使用的kafka的jar包是否和集群中的kafka的jar包版本是否一致。
我的是本地代码用的2.11,集群中使用的2.10 导致一接收消息就报错