Apache kafka 获取InvalidRecordException

Apache kafka 获取InvalidRecordException,apache-kafka,kafka-consumer-api,kafka-producer-api,apache-kafka-connect,Apache Kafka,Kafka Consumer Api,Kafka Producer Api,Apache Kafka Connect,在我的应用程序中,我获取使用kafka排队并保存在磁盘上的数据,消费者从kafka获取数据并进行处理。但当我的消费者试图从卡夫卡读取数据时,我得到以下例外情况: 2017-06-09 10:57:24,733 ERROR NetworkClient Uncaught error in request completion: org.apache.kafka.common.KafkaException: Error deserializing key/value for partition Tcp

在我的应用程序中,我获取使用kafka排队并保存在磁盘上的数据,消费者从kafka获取数据并进行处理。但当我的消费者试图从卡夫卡读取数据时,我得到以下例外情况:

2017-06-09 10:57:24,733 ERROR NetworkClient Uncaught error in request completion:
org.apache.kafka.common.KafkaException: Error deserializing key/value for partition TcpMessage-1 at offset 155884487
at org.apache.kafka.clients.consumer.internals.Fetcher.parseRecord(Fetcher.java:628) ~[kafka-clients-0.9.0.1.jar:?]
at org.apache.kafka.clients.consumer.internals.Fetcher.handleFetchResponse(Fetcher.java:566) ~[kafka-clients-0.9.0.1.jar:?]
at org.apache.kafka.clients.consumer.internals.Fetcher.access$000(Fetcher.java:69) ~[kafka-clients-0.9.0.1.jar:?]
at org.apache.kafka.clients.consumer.internals.Fetcher$1.onSuccess(Fetcher.java:139) ~[kafka-clients-0.9.0.1.jar:?]
at org.apache.kafka.clients.consumer.internals.Fetcher$1.onSuccess(Fetcher.java:136) ~[kafka-clients-0.9.0.1.jar:?]
at org.apache.kafka.clients.consumer.internals.RequestFuture.fireSuccess(RequestFuture.java:133) ~[kafka-clients-0.9.0.1.jar:?]
at org.apache.kafka.clients.consumer.internals.RequestFuture.complete(RequestFuture.java:107) ~[kafka-clients-0.9.0.1.jar:?]
at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient$RequestFutureCompletionHandler.onComplete(ConsumerNetworkClient.java:380) ~[kafka-clients-0.9.0.1.jar:?]
at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:274) [kafka-clients-0.9.0.1.jar:?]
at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.clientPoll(ConsumerNetworkClient.java:320) [kafka-clients-0.9.0.1.jar:?]
at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:213) [kafka-clients-0.9.0.1.jar:?]
at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:193) [kafka-clients-0.9.0.1.jar:?]
at org.apache.kafka.clients.consumer.KafkaConsumer.pollOnce(KafkaConsumer.java:908) [kafka-clients-0.9.0.1.jar:?]
at org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:853) [kafka-clients-0.9.0.1.jar:?]
at com.affirmed.mediation.edr.kafka.tcpMessage.TcpMessageConsumer.doWork(TcpMessageConsumer.java:190) [EdrServer.jar:?]
at com.affirmed.mediation.edr.kafka.tcpMessage.TcpMessageConsumer.run(TcpMessageConsumer.java:248) [EdrServer.jar:?]

Caused by: org.apache.kafka.common.record.InvalidRecordException: Record is corrupt (stored crc = 2016852547, computed crc = 1399853379)
at org.apache.kafka.common.record.Record.ensureValid(Record.java:226) ~[kafka-clients-0.9.0.1.jar:?]***
at org.apache.kafka.clients.consumer.internals.Fetcher.parseRecord(Fetcher.java:617) ~[kafka-clients-0.9.0.1.jar:?]
... 15 more
谁能帮我一下吗。我被它卡住了,无法找出它的根源

我被它卡住了,无法找出它的根源

堆栈跟踪已经告诉您确切的问题是什么:

2017-06-09 10:57:24,733 ERROR NetworkClient Uncaught error in request completion:
org.apache.kafka.common.KafkaException: Error deserializing key/value for partition TcpMessage-1 at offset 155884487
...
Caused by: org.apache.kafka.common.record.InvalidRecordException: Record is corrupt (stored crc = 2016852547, computed crc = 1399853379)
根本问题是,在输入主题
TcpMessage
的分区1中,消息偏移量155884487的数据已损坏。这表明服务于本主题分区1的Kafka代理的本地存储存在问题,或者存在网络问题(代理的本地存储正常,但当消费者通过网络读取数据时,数据在传输过程中损坏)

我被它卡住了,无法找出它的根源

堆栈跟踪已经告诉您确切的问题是什么:

2017-06-09 10:57:24,733 ERROR NetworkClient Uncaught error in request completion:
org.apache.kafka.common.KafkaException: Error deserializing key/value for partition TcpMessage-1 at offset 155884487
...
Caused by: org.apache.kafka.common.record.InvalidRecordException: Record is corrupt (stored crc = 2016852547, computed crc = 1399853379)

根本问题是,在输入主题
TcpMessage
的分区1中,消息偏移量155884487的数据已损坏。这表明服务于本主题分区1的Kafka broker的本地存储存在问题,或者存在网络问题(broker的本地存储正常,但当消费者通过网络读取数据时,数据在传输过程中损坏)。

我也有类似的问题,并且“org.apache.kafka.clients.NetworkClient:请求完成中的未捕获错误:org.apache.kafka.common.KafkaException:反序列化分区的键/值时出错“我有一个简单的java消费者,它工作得很好,但是spring引导服务抛出了这个错误。看起来像是版本问题,如果找到正确的匹配,我会更新。卡夫卡客户端版本-0.9.0.1 Spring卡夫卡版本-1.0.6.RELEASE SpringBoot版本-1.5.9.RELEASE我无法更改卡夫卡客户端版本,但可以更改其他版本。我遇到类似问题,正在恢复“org.apache.kafka.clients.NetworkClient:请求完成中的未捕获错误:org.apache.kafka.common.KafkaException:反序列化分区的键/值时出错“我有一个简单的java消费者,它工作得很好,但是spring引导服务抛出了这个错误。看起来像是版本问题,如果找到正确的匹配,我会更新。卡夫卡客户端版本-0.9.0.1 Spring卡夫卡版本-1.0.6.RELEASE SpringBoot版本-1.5.9.RELEASE我无法更改卡夫卡客户端版本,但可以更改其他版本。