tidb集群中的cdc添加新配置参数后,无法正常启动cdc组件,报错:component TiCDC server's config file conf/cdc.toml contained unknown configuration options: sorter.cache-size-in-mb, sorter.sorter-dir

【 TiDB 使用环境】生产环境
【 TiDB 版本】v6.5.0
【复现路径】tidb集群中的cdc添加新配置参数,使用

# tiup cluster edit-config cluster_name

image

【遇到的问题:问题现象及影响】tidb集群中的cdc添加新配置参数后,无法正常启动cdc组件,报错:

component TiCDC server's config file conf/cdc.toml contained unknown configuration options: sorter.cache-size-in-mb, sorter.sorter-dir

查看cdc-server的配置文件,参数已经正常加载:

问题:
1、正常修改更新完配置参数后,但是,启动cdc组件时,显示正常,实际上后端cdc服务器上cdc服务并未启动成功
2、版本为tidb集群的cdc版本也都是:v6.5.0,查询官方的cdc_server的配置也确实有这两个参数:
https://github.com/pingcap/docs-cn/blob/release-6.5/ticdc/ticdc-server-config.md

【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

你这个报错就是 cdc 不识别参数啊。

 tiup cdc version
Starting component cdc: /root/.tiup/components/cdc/v8.1.0/cdc version
Release Version: v8.1.0
Git Commit Hash: 137ed650cc3fcd04ed31b4e7978dccebc087330d
Git Branch: HEAD
UTC Build Time: 2024-05-20 13:05:21
Go Version: go version go1.21.10 linux/amd64
Failpoint Build: false

用类似语法,看下对应部署目录下 cdc 的版本呢。

在tiup 里增加变量,很多都需要放到 config 下,具体可以看下 https://docs.pingcap.com/zh/tidb/v6.5/tiup-cluster-topology-reference#cdc_servers

额,试了下7.5版本,这种写法确实是可以的,也 reload 成功的

在中控机上执行查看cdc的版本信息如下:

[root@wbjdnchzttdb01 bj_sjzt_to_slave]# tiup cdc version
tiup is checking updates for component cdc ...
Starting component `cdc`: /root/.tiup/components/cdc/v6.5.0/cdc version
Release Version: v6.5.0
Git Commit Hash: 9e91cff866d240ab6c1737680c17f5c5d0586911
Git Branch: heads/refs/tags/v6.5.0
UTC Build Time: 2022-12-23 08:43:57
Go Version: go version go1.19.3 linux/amd64
Failpoint Build: false

在远端cdc_server组件的服务器上,查看cdc版本如下:

[root@wtj7vpztnctcd01 cdc-8300]# ./bin/cdc version
Release Version: v6.5.0
Git Commit Hash: 9e91cff866d240ab6c1737680c17f5c5d0586911
Git Branch: heads/refs/tags/v6.5.0
UTC Build Time: 2022-12-23 08:43:57
Go Version: go version go1.19.3 linux/amd64
Failpoint Build: false

没太明白这段话的修改建议,能给出一个配置修改例子吗?谢谢

有的版本 不支持某些参数的配置方式。

看起来就是 650 这个版本不支持这个参数,感觉文档写早了。。。。

可以忽略那段话,我试了下按照你的写法,7.5.1版本是能正确识别并 reload 的。 所以还是版本问题,可能是6.5的某个小版本引入的新功能。6.5.0反而没有

1 个赞

看了下配置增加的时间,应该是6.5.3引进的变量,所以得升级版本才能用。
PS:翻 release-note 时候,发现6.5.4之前貌似每个版本CDC都会引入一些新的配置项,有很大的性能提升。所以在使用时候,确实需要注意一下版本

1 个赞

好的,看来剩余只有一条路:升级版本。

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