首页/数据/数据工程与 ETL 速查/消息大小限制与排查
本包目录(311 条)
管道基础52 条
Kafka64 条
调度与编排40 条数仓建模52 条数据质量50 条CDC 与同步53 条

消息大小限制与排查

消息能否写入/读出要同时满足多层限制:生产端 max.request.size、Broker/主题 message.max.bytes、消费端 fetch 上限;任何一层过小都会报错或卡消费。

位置

位置参数默认参考值
生产者max.request.size1MB
Brokermessage.max.bytes约 1MB
主题max.message.bytes继承 Broker
消费者max.partition.fetch.bytes / fetch.max.bytes1MB / 50MB

调整示例

调整示例
kafka-configs.sh --bootstrap-server localhost:9092 \
  --entity-type topics --entity-name orders \
  --alter --add-config max.message.bytes=5242880

# 生产者与消费者需同步调整
# producer: max.request.size=5242880
# consumer: max.partition.fetch.bytes=5242880
大消息会放大内存与延迟,单条数 MB 的量级优先考虑拆分、压缩或改传对象存储引用。

易错点

  • 报 RecordTooLargeException 先确认是生产端还是 Broker/主题侧拒绝,两边都要改
  • 只改生产端不改主题侧,消息会被服务端以同样错误拒绝

数据来源与参考

  • Apache Kafka 官方文档:Producer/Consumer/Broker/Topic 消息大小配置
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌