TiCDC往kafka同步数据时,单条消息最大限制是多少

【TiDB 版本】v4.0.6
【TiCDC 版本】v4.0.9

问题描述:
这边同步任务将多个库以canal-json的格式往kafka同步数据,
message.max.bytes 配置为100M,创建同步时报错:
"message": "[CDC:ErrKafkaAsyncSendMessage]kafka: Failed to produce message to topic dw_tidb_binlog_online: kafka server: Message was too large, server rejected it to avoid allocation error."

根据下面理解,单条消息最大为4M,100M理论来讲是够的,为什么还会报错?

下面的512M和4M可以详细解释一下吗?
https://docs.pingcap.com/zh/tidb/stable/troubleshoot-ticdc#ticdc-把数据同步到-kafka-时能在-tidb-中控制单条消息大小的上限吗
TiCDC 把数据同步到 Kafka 时,能在 TiDB 中控制单条消息大小的上限吗?
不能,目前 TiCDC 控制了向 Kafka 发送的消息批量的大小最大为 512 MB,其中单个消息的大小最大为 4 MB。

https://docs.pingcap.com/zh/tidb/stable/troubleshoot-ticdc#为什么-ticdc-到-kafka-的同步任务延时越来越大

  • 请参考 如何查看 TiCDC 同步任务的状态? 检查下同步任务的状态是否正常。
  • 请适当调整 Kafka 的以下参数:
    • message.max.bytes ,将 Kafka 的 server.properties 中该参数调大到 1073741824 (1 GB)。
    • replica.fetch.max.bytes ,将 Kafka 的 server.properties 中该参数调大到 1073741824 (1 GB)。
    • fetch.message.max.bytes ,适当调大 consumer.properties 中该参数,确保大于 message.max.bytes
1 个赞

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。