卡夫卡错误读取字段';相关性id';:java.nio.BufferUnderflowException
正在消费者上获取此kafka异常:卡夫卡错误读取字段';相关性id';:java.nio.BufferUnderflowException,java,apache-kafka,kafka-consumer-api,Java,Apache Kafka,Kafka Consumer Api,正在消费者上获取此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.request
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)
没有客户端-服务器版本不匹配
确保您的客户端连接到真正的卡夫卡端口
解析预期kafka消息的第一个头字段时(其中一个?)会发生此特定错误,如堆栈跟踪中调用ResponseHeader.java所示
因此,如果目标侦听端口与kafka服务器无关,则可能发生这种情况
只要一分钟的检查
否则,您应该检查客户机-服务器版本不匹配。对我来说,我遇到了上述异常的单元测试失败问题。当我检查本地机器上正在使用的端口(9092)时,它被绑定到已经在运行的进程,值得检查是否有Kafka在本地运行的进程。如果您确定不希望它运行,请通过查找其pid来终止它 (但不要尝试生产:p)
lsof-i:9092
杀死-9
lsof -i:9092
kill -9 <PID_FROM_ABOVE_IF_ANY>