Kafka-经纪人:邮件大小过大

时间:2019-12-13 11:55:34

标签: apache-kafka

当我尝试发送超过1 Mb大小的消息时,出现Message size too large异常。当我尝试生成消息时,该错误出现在我的客户端应用程序中。经过一番谷歌搜索后,我发现应该更改设置以增加最大邮件大小。好吧,我在/kafka/config/server.properties文件中做到了。我添加了下2个设置:

message.max.bytes=15728640
replica.fetch.max.bytes=15728640

我也将fetch.message.max.bytes=15728640添加到了/kafka/config/consumer.properties文件中。所有其他设置保持默认。

我没有重启kafka服务器,但是仍然出现相同的错误。

PS Kafka版本为1.1.0。

1 个答案:

答案 0 :(得分:1)

您的配置正确,但是还需要在生产者端设置 max.request.siz

  

props.put(ProducerConfig.MAX_REQUEST_SIZE_CONFIG, 15728640);

     

最大请求大小(以字节为单位)。此设置将限制生产者将发送的记录批数   避免在发送单个请求时发出大量请求。这实际上是最大记录批量的上限。

在Broker端,您已经配置了以下应该起作用的参数

  

message.max.bytes (最大邮件字节数)      

replica.fetch.max.bytes 尝试为每个分区获取的消息的字节数。这不是绝对最大值,如果   提取的第一个非空分区中的第一个记录批处理是   大于此值,记录批仍将返回到   确保可以取得进展。最大记录批量大小   代理接受的消息是通过message.max.bytes(broker   配置)或max.message.bytes(主题配置)。

在主题方面,如果您已经在代理方设置了message.max.bytes,则不需要此字段。

  

最大消息字节数-这是代理的最大消息大小   将允许附加到主题。此大小已验证   预压缩。 (默认为经纪人的message.max.bytes。)

参考 https://kafka.apache.org/documentation/