我在调用生产者去生产消息的时候出现:
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
其他的配置为:
因为单个的消息比较大,把消息进行了拆分,每个消息大约50kb,利用for循环进行发送,伪代码类似于:
for(int i=0;i<list.size();i++){
producer.send("消息")。
}
将循环去掉,只是循环一次,是可以进行消息的发送的。循环起来就报上述错误。
单从日志来看,是你的配置没生效,不知道你是怎么使用的配置文件,你可以关注下日志确认你的配置是否生效。
还有,
kafka.producer.buffer.memory
这种命名方式有可能是错的(我不太清楚你使用的什么客户端),如果是springboot,可以看看这篇SpringBoot和kafka集成。相关
buffer.memory
介绍参考:Kafka Producer配置好的博主,已解决,谢谢博主的提示,原因出现在配置文件没有生效。
你的答案