cdc 同步tidb到下游的serverless tidb时候 tls 报错

ok了 测试环境ok了 但是到了生产环境,遇到新的问题


这个命令在测试环境是ok的,但是到了生产环境,就报错
Error: [CDC:ErrSinkURIInvalid]sink uri invalid ‘protocol is incompatible with mysql scheme’

1 个赞

这个也解决了 因为 测试环境是直接部署的 7.1.2,所以7.1.2的cdc是ok的 生产环境是升级上去到7.1.0的,所以不兼容,下载生产环境对应的version的cdc即可

实际 操作中 问题好多,cdc的版本不兼容等等问题,7.1.0 7.1.1 7.1.2 6.6.0 都试了 都不行

cdc 好多问题呀

现在的cdc和集群版本是一致的吗?

上面的报错是你 sink uri 写错了,重新核对调整一下,然后再试试

en 好奇怪 我用7.2.0的cdc 是ok的

你检查一下你目前的 cdc 版本和集群的版本号是不是一直的~

全部解决,运行起来了,大概给大家梳理下:
1.dumpling 备份原集群到目录下(可以先暂时关闭 GC);
2.cat 备份目录下的metadata,记录下来
3.使用tidb-lightning(因为这个支持TLS和非TLS) 还原 目录数据到下游mysql或者tidb集群;
4.然后利用meatdata的ts值,试用 cdc cli 来做同步
5.数据校验,我做的比较粗糙 大概看了几个实时更新的表在一直增长,详细的校验可以参考官方

ok了 多谢大佬,多谢各位大佬的帮助,现在同步跑起来了,后面就是研究下 延迟监控和数据是否同步已经告警问题了

  1. 补充下,最后记得开启下 gc 不然会对 原集群性能有所损耗,损耗这两个字 是从官方看到i的
    反正用别人的东西,一切都尽量按照别人的建议来喽,就这样

监控这块可以重点查看grafana面板,里面有 TICDC 的详细内容,也可以查看同步任务的延迟情况和QPS。

同步有延迟也会有对于的告警。

对于TICDC 使用,推荐你看看我的这两篇文章,应该会有一些收获。

ALTER TABLE database_class .table_group ADD INDEX idx_id (myid );
报错
[2024/02/13 13:45:28.280 +08:00] [INFO] [index.go:620] [“[ddl] run add index job”] [job=“ID:3864, Type:add index, State:running, SchemaState:none, SchemaID:88, TableID:2905, RowCount:0, ArgLen:6, start time: 2024-02-13 13:39:17.254 +0800 CST, Err:[ddl:-1][Lightning:KV:ErrCheckMultiIngest]check multi-ingest support error: rpc error: code = Unavailable desc = connection error: desc = “transport: Error while dialing: dial tcp 192.168.1.11:20160: i/o timeout”, ErrCount:59, SnapshotVersion:0, UniqueWarnings:0”] [indexInfo=“{“id”:6,“idx_name”:{“O”:" idx_id “,“L”:” idx_id “},“tbl_name”:{“O”:”“,“L”:”“},“idx_cols”:[{“name”:{“O”:“user_id”,“L”:“user_id”},“offset”:2,“length”:-1}],“state”:0,“backfill_state”:0,“comment”:”",“index_type”:1,“is_unique”:false,“is_primary”:false,“is_invisible”:false,“is_global”:false,“mv_index”:false}”]
大佬 ,求指导,是不是在ddl创建索引时候,必须所有tikv都健康,我这里目前是有一个kv节点是挂掉的