Kafka Producer错误到期TOPIC的10条记录:XXXXXX:自创建批次以及延迟时间已过去6686毫秒

Raj*_*aju 20 apache-kafka

卡夫卡版本:0.10.2.1,

卡夫卡监制错误到期10条(个),主题:XXXXXX:因为批创建6686 ms是否已过加上盘桓时间org.apache.kafka.common.errors.TimeoutException:到期10条(个),主题:XXXXXX:6686毫秒具有从批量创建加上逗留时间开始传递

任何线索将不胜感激..

arg*_*lee 19

发生此异常是因为您以比发送速度快得多的速度对记录进行排队.

当您调用send方法时,ProducerRecord将存储在内部缓冲区中以发送给代理.一旦ProducerRecord被缓冲,该方法立即返回,无论它是否已被发送.

记录被分组为批次以发送给代理,以减少每条消息的传输被窃听并增加吞吐量.

将记录添加到批处理中后,发送该批处理有一个时间限制,以确保它在指定的持续时间内发送.这由Producer配置参数request.timeout.ms控制,默认为30秒.

如果批处理的排队时间超过超时限制,则将引发异常.该批次中的记录将从发送队列中删除.

生产者配置block.on.buffer.full,metadata.fetch.timeout.ms和timeout.ms已被删除.它们最初在Kafka 0.9.0.0中被弃用.

因此,请尝试增加request.timeout.ms

不过,如果您有任何与吞吐量相关的问题,您也可以参考以下博客

  • 不幸的是,这个链接对我来说已经死了。 (5认同)
  • @CristianoFontes 是的,不幸的是,它已经关闭了。但上面已经涵盖了几乎所有答案。 (2认同)