调用producter 出现org.apache.kafka.common.errors.RecordTooLargeException:

BLue 发表于: 2022-01-17   最后更新时间: 2022-01-17 19:09:48   969 游览

我在调用生产者去生产消息的时候出现:

org.apache.kafka.common.errors.RecordTooLargeException: The message is 196773 bytes when serialized which is larger than the total memory buffer you have configured with the buffer.memory configuration"

但是我设置的buffer的大小为:4096000

其他的配置为:

buffer.memory

因为单个的消息比较大,把消息进行了拆分,每个消息大约50kb,利用for循环进行发送,伪代码类似于:

for(int i=0;i<list.size();i++){
    producer.send("消息")。
}

send

将循环去掉,只是循环一次,是可以进行消息的发送的。循环起来就报上述错误。

发表于 2022-01-17

单从日志来看,是你的配置没生效,不知道你是怎么使用的配置文件,你可以关注下日志确认你的配置是否生效。

还有,kafka.producer.buffer.memory这种命名方式有可能是错的(我不太清楚你使用的什么客户端),如果是springboot,可以看看这篇SpringBoot和kafka集成

相关buffer.memory介绍参考:Kafka Producer配置

BLue -> 半兽人 2年前

好的博主,已解决,谢谢博主的提示,原因出现在配置文件没有生效。

你的答案

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