Open YouAnCao opened 3 years ago
请教一下,为什么对一张表的订阅会发生超过最大MQ的消息体消息
检查下是不是mq没连上或不通, 我之前在使用kafka模式出现过这个问题
检查下是不是mq没连上或不通, 我之前在使用kafka模式出现过这个问题
no, kafka是通的,只是运行一段时间后,就会必现
表里有大字段 调大点kafka producer发送数据的batch size 参考我目前在用的
#kafka 集群地址
canal.mq.servers = xxxxx
#消息发送失败重试次数 默认0
canal.mq.retries = 1
## flagMessage模式下可以调大该值, 但不要超过MQ消息体大小上限 10240000
canal.mq.batchSize = 81920
canal.mq.maxRequestSize = 163840000
# kafka为ProducerConfig.LINGER_MS_CONFIG , 如果是flatMessage格式建议将该值调大,50~200
canal.mq.lingerMs = 500
canal.mq.bufferMemory = 33554432
# Canal的batch size, 默认50K, 由于kafka最大消息体限制请勿超过1M(900K以下)
canal.mq.canalBatchSize = 150
# Canal get数据的超时时间, 单位: 毫秒, 空为不限超时
canal.mq.canalGetTimeout = 200
canal.mq.parallelThreadSize = 16
# 是否为flat json格式对象
canal.mq.flatMessage = true
canal.mq.compressionType = none
# kafka消息投递是否使用事务
canal.mq.acks = 1
#kafka无意义 rocketMQ为ProducerGroup名
canal.mq.producerGroup = test
这个字段过大报错可以将当前的msg打印出来吗,以此判断是哪个库表的
Question
binlog format/image check
canal.instance.binlog.format = ROW,STATEMENT,MIXED canal.instance.binlog.image = FULL,MINIMAL,NOBLOB
binlog ddl isolation
canal.instance.get.ddl.isolation = false
canal 错误日志: