kafka生产者报错CORRUPT_MESSAGE

无所谓 发表于: 2019-12-25   最后更新时间: 2019-12-25 16:49:01   5,067 游览

kafka生产者时不时报这个错

spark-streaming-kafka-0-10_2.11 用spark处理数据,对某些符合条件的数据发送到kafka

 producer.send(new ProducerRecord<String,Notify>(topic, data), (metaData, exception) -> {
    if (exception != null) {
       log.error(exception)
     }
 });

错误信息

screenshot

发表于 2019-12-25
添加评论

这个错误一般是压缩策略为cleanup.policy=compact的情况下,key不能为空额。

无所谓 -> sandy 4年前

key为空应该会均衡的分布在各个分区 其它的分区都能正常写入数据 就那一个分区不行

sandy -> 无所谓 4年前

把相同的key进行压缩。

$ kafka-topics --create --zookeeper "zookeeper-0.zookeeper" --partitions 1 --replication-factor 1 --topic topicB --config cleanup.policy=compact
Created topic "topicB".

$ kafka-topics --describe --zookeeper "zookeeper-0.zookeeper" --topic topicB
Topic:topicB    PartitionCount:1    ReplicationFactor:1    Configs:cleanup.policy=compact
    Topic: topicB    Partition: 0    Leader: 1    Replicas: 1    Isr: 1

你描述下那个topic,看看是否有这个策略。

无所谓 -> sandy 4年前

没有这个策略

sandy -> 无所谓 4年前

这么奇怪,而且就topic中的某一个分区才有问题。
我记得之前有看到kafka 0.10和0.11有类似的bug。

我不知道该怎么解决了。

无所谓 -> sandy 4年前

在哪能看到0.11的那个bug啊 那个bug是所有分区都会有问题还是某个分区会出问题呢 我们用的0.11.0.2版本

你的答案

查看kafka相关的其他问题或提一个您自己的问题