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) } }); 错误信息
这个错误一般是压缩策略为cleanup.policy=compact的情况下,key不能为空额。
key为空应该会均衡的分布在各个分区 其它的分区都能正常写入数据 就那一个分区不行
把相同的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,看看是否有这个策略。
没有这个策略
这么奇怪,而且就topic中的某一个分区才有问题。
我记得之前有看到kafka 0.10和0.11有类似的bug。
我不知道该怎么解决了。
在哪能看到0.11的那个bug啊 那个bug是所有分区都会有问题还是某个分区会出问题呢 我们用的0.11.0.2版本
你的答案