0

我正在为流处理设置风暴,我的 trident spout 正在从 kafka 主题中获取数据,但是在从 kafka 获取消息时我不断收到 BufferUnderFlowException:

java.lang.RuntimeException: java.lang.RuntimeException: java.nio.BufferUnderflowException at backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:128) ~[storm-core-0.9.5.jar:0.9.5]在 backtype.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:99) ~[storm-core-0.9.5.jar:0.9.5] 引起:java.lang.RuntimeException:暴风雨中的 java.nio.BufferUnderflowException。 kafka.KafkaUtils.fetchMessages(KafkaUtils.java:177) ~[stormjar.jar:na] atstorm.kafka.trident.TridentKafkaEmitter.fetchMessages(TridentKafkaEmitter.java:132) ~[stormjar.jar:na] atstorm.kafka。 trident.TridentKafkaEmitter.doEmitNewPartitionBatch(TridentKafkaEmitter.java:113) ~[stormjar.jar:na]

引起:java.nio.BufferUnderflowException: null at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:151) ~[na:1.8.0_05] at java.nio.ByteBuffer.get(ByteBuffer.java:715) ~[ na:1.8.0_05] 在 kafka.api.ApiUtils$.readShortString(ApiUtils.scala:40) ~[stormjar.jar:na]

我用的storm版本是0.9.5,kafka有2.11版本。我无法理解是什么在这里造成了问题。

4

1 回答 1

4

如果您使用与代理不同版本的 Kafka 客户端,则可能会出现类似的错误。

于 2016-09-30T08:07:34.673 回答