Tidb扩容增加pump和drainer,pump启动成功drainer启动失败

执行完扩容之后,启动drainer失败,pump成功
drainer节点上message日志:
Jun 30 17:44:35 db13 run_drainer.sh: [2025/06/30 17:44:35.283 +08:00] [FATAL] [main.go:39] [“verifying flags failed, See ‘drainer --help’.”] [error=“toml: cannot load TOML value of type string into a Go integer”] [errorVerbose=“toml: cannot load TOML value of type string into a Go integer\ngithub.com/pingcap/errors.AddStack\n\t/home/jenkins/agent/workspace/build_tidb_binlog_master/go/pkg/mod/github.com/pingcap/errors@v0.11.5-0.20190809092503-95897b64e011/errors.go:174\ngithub.com/pingcap/errors.Trace\n\t/home/jenkins/agent/workspace/build_tidb_binlog_master/go/pkg/mod/github.com/pingcap/errors@v0.11.5-0.20190809092503-95897b64e011/juju_adaptor.go:15\ngithub.com/pingcap/tidb-binlog/pkg/util.StrictDecodeFile\n\t/home/jenkins/agent/workspace/build_tidb_binlog_master/go/src/github.com/pingcap/tidb-binlog/pkg/util/util.go:197\ngithub.com/pingcap/tidb-binlog/drainer.(*Config).configFromFile\n\t/home/jenkins/agent/workspace/build_tidb_binlog_master/go/src/github.com/pingcap/tidb-binlog/drainer/config.go:341\ngithub.com/pingcap/tidb-binlog/drainer.(*Config).Parse\n\t/home/jenkins/agent/workspace/build_tidb_binlog_master/go/src/github.com/pingcap/tidb-binlog/drainer/config.go:261\nmain.main\n\t/home/jenkins/agent/workspace/build_tidb_binlog_master/go/src/github.com/pingcap/tidb-binlog/cmd/drainer/main.go:38\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:203\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1357”] [stack=“github.com/pingcap/log.Fatal\n\t/home/jenkins/agent/workspace/build_tidb_binlog_master/go/pkg/mod/github.com/pingcap/log@v0.0.0-20200117041106-d28c14d3b1cd/global.go:59\nmain.main\n\t/home/jenkins/agent/workspace/build_tidb_binlog_master/go/src/github.com/pingcap/tidb-binlog/cmd/drainer/main.go:39\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:203”]
Jun 30 17:44:35 db13 systemd: drainer-8249.service: main process exited, code=exited, status=1/FAILURE
Jun 30 17:44:35 db13 systemd: Unit drainer-8249.service entered failed state.
Jun 30 17:44:35 db13 systemd: drainer-8249.service failed.


log目录没有日志

扩容pump的配置内容:

重复提示这个错误

这个是原因,看看配置文件里面,是不是某些参数写的不对,比如期望 300,但配置文件写成了 300M。

PS:4.0 在用 tidb-ansible 还是 tiup 管理集群?

tiup管理的,我也猜到了。估计是 syncer.to.kafka-max-messages: 10485760
这个值,因为上游是阿里云kafka 最大支持10MB,所以想着这边也改成10M
正在找文档看看默认值和默认大小是MB单位还是KB单位

syncer.to.kafka-max-messages: 10485760 ,不用加引号,
cannot load TOML value of type string into a Go integer报错的意思是 加载 toml 文件不能把字符串转换成整型

恩,感谢,已经猜到了。他的默认大小类型是什么 KB还是B,我想设置成10Mb,

还4.0那,快升级吧,新版本已经不支持binlog了。

恩看到了,好像是7.5开始不支持了。就是因为4。0版本 用CDC的时候发现不支持到阿里云的kafka。只能用binlog了

这个值好像无所谓 ,看前辈写的文档都是直接设的65536

这不行。阿里云的kafka产品 最大接收是10Mb,所以我才想着找一下。必须设置成10MB。要不然谁会去看着玩意呀

kafka 消息体太大 就直接被拒了,没必要设成10MB这么大的消息。应该是以B为单位的,你先设成65536 看看链路能不能正常搭建出来,消息能不能发到 kafka 中,有问题 再把这个参数放大

10M大吗?我看文档默认是1024,我现在就是想知道 1024是1024MB 还是1024KB 也就是1MB。

这个开启binlog,和GC有关吗,需不需要吧GC调大点?

找到了这个。max-messages是最大消息数量,我以为是最大消息大小呢,
如果同时存在,程序优先使用 zookeeper 中的 kafka 地址
zookeeper-addrs = “127.0.0.1:2181”
kafka-addrs = “127.0.0.1:9092”
kafka-version = “0.8.2.0”
在一个 broker 请求中包含的最大消息数量(binlog 数量)
kafka-max-messages = 1024
broker 请求的最大大小(单位:字节)
kafka-max-message-size = 1073741824

没有设置任何值,阿里云产品kafka 最大接收消息是10MB,
现在报错了


你看这个是不是发送消息太大了,kafka拒收了。kafka那边设置的是10MB呢。
tidb我查的他写的是默认100MB呢

tiup cluster edit-config 集群名 看看 syncer.to.kafka-max-messages 这个参数现在被设置成了多少

默认,我没设置,把这一行删掉了。
[syncer]
db-type = “kafka”
[syncer.to]
kafka-addrs = “alikafka-com:9092”
kafka-version = “2.6.0”
topic-name = “tidbcdc”

kafka-max-messages = 1024 这个是每次传输最大数量

kafka-max-message-size = 1073741824 # 这个是每次最大大小,

两个文档内容都看到有这个参数。但是



我加上这个max参数就启动失败:kafka-max-message-size = 10485760

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