Dhy*_*yan 5 apache-kafka kafka-consumer-api
卡夫卡版:0.9
我们有一个试图从Kafka读取的java应用程序.但我们看到kafka消息中的数据损坏
以下是Java应用程序的错误:
org.apache.kafka.common.KafkaException: Error deserializing key/value for partition varnish_raw_logs-31 at offset 568565
Caused by: org.apache.kafka.common.record.InvalidRecordException: Record is corrupt (stored crc = 1835858402, computed crc = 4025136930)
Run Code Online (Sandbox Code Playgroud)
所以我决定看看哪个节点拥有分区31,并使用kafka dump log util查看数据的外观.从下面看,分区31由node-4拥有,node-2拥有其副本.
Topic: varnish_raw_logs Partition: 31 Leader: 4 Replicas: 4,2 Isr: 4,2
Run Code Online (Sandbox Code Playgroud)
现在,当我使用dump util查看来自节点4和节点2的日志时.我看到数据在副本节点(节点-2)中有效,但在主节点中已损坏.
所以我的问题是:master(node-4)进入这种状态的根本原因是什么?虽然您可以争辩我们应该跳过特定于事件的错误.我不想错过这些消息,因为我在复制品中有一个好消息.
| 归档时间: |
|
| 查看次数: |
496 次 |
| 最近记录: |