TiCDC4.0.9版本由于sink-uri没有强制指定版本导致同步任务无法创建
部署ticdc后创建同步kafka任务报错。
./cdc cli changefeed create --pd=http://xxxx:2379 --sink-uri=“kafka://xxxx:9092/tidbcdc?max-message-bytes=67108864&replication-factor=1”
Error: [CDC:ErrKafkaNewSaramaProducer]EOF
(1)问题出在这个集群之前我就配置过ticdc,然后我只是cdc cli changefeed pause了任务。然后scale-in了cdc,今天又初始化了cdc。再次cdc create就报这个错误,后面就可以根据cdc的管理命令,删除老任务配置,create新的即可
(2)如果还不行:4.0.8后,ssink-url中加入了kafka-version=1.1.1这个参数,目前看来,kafka集群版本跟默认2.4.0集群不一致时,是需要强制指定kafka版本
cdc cli changefeed create --pd=http://xxxx:2379 --sink-uri=“kafka://xxxx:9092/tidbcdc1?kafka-version=1.1.1&partition-num=2&max-message-bytes=67108864&replication-factor=1” --changefeed-id="dxl-replication-task”
(3)排查问题时可以添加–log-level=debug来显示更详细的报错信息
也可以看cdc的相关log找下问题
注意:以后删除ticdc集群需要先删除ticdc的同步任务,简单停止可不行。
常用TiCDC的命令
(1)创建同步任务
/data/deploy/cdc-8300/bin/cdc cli changefeed create --pd=http://xxxx:2379 --sink-uri=“kafka://xxxx:9092/tidbcdc1?kafka-version=1.1.1&partition-num=2&max-message-bytes=67108864&replication-factor=1” --changefeed-id=“dxl-replication-task”
(2)查看ticdc的master进程
/data/deploy/cdc-8300/bin/cdc cli capture list --pd=http://xxxx:2379
(3) 查看同步任务列表
/data/deploy/cdc-8300/bin/cdc cli changefeed list --pd=http://xxxx:2379
(4)根据2步骤的同步任务id,可以具体查看特定同步id的同步任务状态
/data/deploy/cdc-8300/bin/cdc cli changefeed query -s --pd=http://xxxx:2379 --changefeed-id=dxl-replication-task
(5)如何更新同步任务,比如我就调整下kafka的最大message大小:max-message-bytes
1、/data/deploy/cdc-8300/bin/cdc cli changefeed pause -c dxl-replication-task --pd=http://xxxx:2379
2、/data/deploy/cdc-8300/bin/cdc cli changefeed update -c dxl-replication-task --pd=http://xxxx:2379 --sink-uri=“kafka://xxxx:9092/tidbcdc1?kafka-version=1.1.1&partition-num=2&max-message-bytes=8388608&replication-factor=1”
3、/data/deploy/cdc-8300/bin/cdc cli changefeed resume -c dxl-replication-task --pd=http://xxxx:2379
(6)删除同步任务,注意默认任务删除后会继续保留24小时,—force是强制立刻删除。
/data/deploy/cdc-8300/bin/cdc cli changefeed remove --pd=http://xxxx:2379 --changefeed-id=‘74867901-61df-4c57-b9b9-7cbb899fb1b1’ --force