Apache Kafka 在哪里设置最大消息大小?
Posted
技术标签:
【中文标题】Apache Kafka 在哪里设置最大消息大小?【英文标题】:Where to set maximum message size in Apache Kafka? 【发布时间】:2018-10-16 21:02:34 【问题描述】:我可以在哪个文件中增加 Kafka 的最大消息大小? (我正在发送String、byte[]的记录,当我发送770kb的byte[]时,Kafka不发送消息)
【问题讨论】:
这个问答可能完全解释了它:***.com/questions/21020347/… - 它适用于 Kafka 0.8,但我相信这对于较新版本的 Kafka 仍然是正确的。让我们知道这是否有效,然后我可以将其标记为重复。 (这很好,它只是将其他有同样问题的人指向正确的问题) @ErwinBolwidt 我在生产者中将replica.fetch.max.bytes 设置为1000000,将max.request.size 设置为1000000,在消费者中将max.partition.fetch.bytes 设置为1000000,但消息仍然不是发送 还有message.max.bytes
?
重复***.com/questions/21020347/…
How can I send large messages with Kafka (over 15MB)?的可能重复
【参考方案1】:
在 kafka 0.11.0 中需要设置以下四个配置选项
代理配置选项 (details):
message.max.bytes - Kafka 允许的最大记录批量大小。
replica.fetch.max.bytes - 尝试为每个分区获取的消息字节数。
生产者配置选项(details):
-
max.request.size - 请求的最大大小(以字节为单位)。建议将此值与 (message.max.bytes) 匹配。
消费者配置选项(details):
-
max.partition.fetch.bytes - 服务器返回的每个分区的最大字节数。应该大于 max.message.size 以便消费者可以读取代理发送的最大消息。
【讨论】:
以上是关于Apache Kafka 在哪里设置最大消息大小?的主要内容,如果未能解决你的问题,请参考以下文章
实时构建:Apache Kafka的大数据消息传递,Part 2
专为实时而构建:使用Apache Kafka进行大数据消息传递 第2部分