kafka读取字段“correlation\u id”时出错:java.nio.bufferunderflowexception

50pmv0ei  于 2021-06-08  发布在  Kafka
关注(0)|答案(2)|浏览(421)

在消费者身上得到这个Kafka例外:

org.apache.kafka.common.protocol.types.SchemaException: Error reading field 'correlation_id': java.nio.BufferUnderflowException
at org.apache.kafka.common.protocol.types.Schema.read(Schema.java:71)
at org.apache.kafka.common.requests.ResponseHeader.parse(ResponseHeader.java:53)
at org.apache.kafka.clients.NetworkClient.handleCompletedReceives(NetworkClient.java:435)
at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:265)
at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.clientPoll(ConsumerNetworkClient.java:320)
at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:213)
at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:193)
at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.awaitMetadataUpdate(ConsumerNetworkClient.java:134)
at org.apache.kafka.clients.consumer.internals.AbstractCoordinator.ensureCoordinatorKnown(AbstractCoordinator.java:184)
at org.apache.kafka.clients.consumer.KafkaConsumer.pollOnce(KafkaConsumer.java:886)
at org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:853)

没有客户端服务器版本不匹配。

kiayqfof

kiayqfof1#

确保你的客户端连接到一个真正的Kafka端口!
解析(其中一个?)预期kafka消息的第一个头字段时会发生此特定错误,如堆栈跟踪中responseheader.java的调用所示。
因此,如果目标侦听端口与kafka服务器无关,则可能发生这种情况。
只要一分钟!
否则,应该检查客户机-服务器版本是否不匹配。

axr492tv

axr492tv2#

对我来说,除了上面的例外,单元测试失败给我带来了麻烦。当我检查本地机器上正在使用的端口(9092)时,它被绑定到已经运行的进程,值得检查是否有kafka的进程在本地运行。如果您确定不希望它运行,请通过查找其pid来终止它。
(不过,不要试穿产品:p)

lsof -i:9092
kill -9 <PID_FROM_ABOVE_IF_ANY>

相关问题