【TiDB 4.0 PCTA 学习笔记】- 3.5 How to use TiCDC (增量同步工具 TiCDC)@1班+赵燕雄

课程名称: 3.5 How to use TiCDC (增量同步工具 TiCDC)

学习时长:1h

课程收获:

了解TiCDC的使用与维护

课程内容:


TiCDC简介

1、什么是TiCDC
	数据变更捕获,将上游数据库写入的数据同步到下游的系统,TiCDC就是TIDB的实时数据同步工具,可以将写入TiDB的增量数据同步到其它系统,如kafka等
2、下图为TiCDC架构图,途中箭头方向表示数据流动方向
	TiCDC是由多节点构成的集群,集群中每个节点都会从TiKV中拉取数据,具有故障转移和扩展能力
3、特性
	高可用、高性能、丰富的生态对接(MySQL/kafka/Pulsar)、环形同步

部署TiCDC

1、软硬件需求
	centos 7.3、16c、32个、200gssd、万兆网
2、支持TiUP部署
	第一种方案部署到已有的TiDB集群中,通过TiUP扩容的方式操作
	第二种方案是TIUP在全新集群上部署TICDC

创建TiCDC的同步任务

1、cdc cli,用于管理TiCDC集群,cdc cli changefeed命令用来管理同步任务
	创建同步任务到mysql: cdc cli changefeed create --pd=http://xxxxx:2379 --sink-uri="mysql://user:pwd@xxx:3306/"
	查看现有同步任务状态: cdc cli changefeed list --pd=http://xxxx:2379
2、同步要求
	数据表必须有主键或者唯一索引
	不支持的场景:raw kv的TiKV集群、不支持创建ddl的sequence操作、TiKV的静默region功能

环形同步

1、环形同步功能支持在多个独立的TiDB间执行同步操作
2、创建环形同步的准备工作
	在要创建任务的集群上执行cdc cli changefeed create-marktables --cyclic-upstream-dsn="本机TiDB节点:本机TiDBport" --pd="localPD节点:localPDport"
3、创建环形同步任务
	--cyclic-replica-id:为上游来源写入,指定上游id,需要确保每个集群id的唯一性
	--cyclic-filter-replica-ids:需要过滤的写入来源id,通常为下游来源的id
	--cyclic-sync-ddl:用于指定是否同步ddl到下游

TiCDC集群管理

1、暂停恢复删除任务
	cdc cli changefeed pause --pd=xxxxx --changefeed-id xxxxxxxxxx
	cdc cli changefeed resume --pd=xxxxx --changefeed-id xxxxxxxxxx
	cdc cli changefeed remove --pd=xxxxx --changefeed-id xxxxxxxxxx
2、查看同步任务的整体情况和状态
	cdc cli changefeed list --pd=http://xxxx:2379
	cdc cli changefeed query --pd=xxxxx --changefeed-id xxxxxxxxxx

学习过程中遇到的问题或延伸思考:

  • 问题 1:
  • 问题 2:
  • 延伸思考 1:
  • 延伸思考 2:

学习过程中参考的其他资料

同学你好,感谢参与 TiDB 4.0 课程的学习!

本篇笔记逻辑清晰、内容丰富,被评选为优质笔记,将额外获得 20 积分,并在 「TiDB 培训」分类下获得“置顶”权益,积分兑换规则将于近期开放,敬请关注!

期待您继续产出优质内容!

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