课程名称:课程版本(301)+ 3.5 How to use TiCDC (增量同步工具 TiCDC)
学习时长:18分钟
课程收获:学习和掌握TiCDC对数据进行增量同步
课程内容:
1.TiCDC 从 v4.0.6 起成为正式功能,可用于生产环境。
1)TiCDC 是一款通过拉取 TiKV 变更日志实现的 TiDB 增量数据同步工具,具有将数据还原到与上游任意 TSO 一致状态的能力,同时提供开放数据协议 (TiCDC Open Protocol),支持其他系统订阅数据变更。
2)TICDC 多节点构成集群,每个节点都会从tikv中拉去增量数据
3)tikv是数据源,自动故障转移
4)大部分情况下保证同步延时在3秒左右
丰富的生态系统对接mysql/kafka/plusar
5)循环复制
2.部署TiCDC
1)硬件要求
cpu 16核 内存 64G 200G SSD centos 7.3 万兆网络
2) 部署方式
部署到已有的tidb集群中
使用tiup scale-out 最少需要两个ticdc实例实现高可用
新集群使用tiup deploy命令
创建TICDC同步任务
cdc cli管理同步
cdc cli changefeed create –pd=http://127.0.0.1:2379 –sink-uri”mysql://root:123456@127.0.0.1:3306/”
查看状态
cdc cli changefeed list --pd=http://127.0.0.1:2379
可以配置同步到下游mysql的最大并发数等
如果是kafka sink-uri 调整为kafka 的信息就行
3.TICDC要求
1)数据表必须有主键或者唯一索引
2)唯一索引必须有一个明确not null
3)不支持的场景
A)不支持使用raw kv 的tikv集群
B)暂不支持 TiDB 4.0 中[创建 SEQUENCE 的 DDL 操作(https://docs.pingcap.com/zh/tidb/stable/sql-statement-create-sequence) 和 SEQUENCE 函数
C)暂不支持 TiKV Hibernate Region
4.环形同步
- 环形同步细节
环形同步功能支持在多个独立的 TiDB 集群间同步数据 - 启动组件
创建标记表
创建环形任务
配置三个参数 参考https://docs.pingcap.com/zh/tidb/stable/manage-ticdc
3)Ticbc的集群管理和日常运维
停止
cdc cli changefeed pause --pd=http://10.0.10.25:2379 --changefeed-id simple-replication-task
恢复
cdc cli changefeed resume --pd=http://10.0.10.25:2379 --changefeed-id simple-replication-task
删除
cdc cli changefeed remove --pd=http://10.0.10.25:2379 --changefeed-id simple-replication-task
查看同步任务列表和特定同步任务
list
cdc cli changefeed list --pd=http://10.0.10.25:2379
query
cdc cli changefeed query -s --pd=http://10.0.10.25:2379 --changefeed-id=simple-replication-task
学习过程中参考的其他资料