官方原文
1.启动TiDB
2.拉取TiCDC的docker镜像
docker pull pingcap/ticdc:v4.0.8
3.启动镜像
docker run -d --name ticdc \
-p 8301:8301 \
-v /data/cdc:/data \
pingcap/ticdc:v4.0.8 \
/bin/bash -c "/cdc server --pd=http://192.168.131.128:2379 --log-file=ticdc_1.log --addr=0.0.0.0:8301 --advertise-addr=192.168.131.128:8301"
4.进入容器
5.创建同步任务
/cdc cli changefeed create --pd='http://192.168.131.128:2379' --sink-uri='kafka://192.168.131.128:9092/cdc-canal?kafka-version=2.6.0&partition-num=1&max-message-bytes=67108864&replication-factor=1&protocol=canal'
URI 中可配置的的参数如下:
参数 | 解析 |
---|---|
127.0.0.1 | 下游 Kafka 对外提供服务的 IP |
9092 | 下游 Kafka 的连接端口 |
cdc-test | 使用的 Kafka topic 名字 |
kafka-version | 下游 Kafka 版本号(可选,默认值 2.4.0 ,目前支持的最低版本为 0.11.0.2 ,最高版本为 2.6.0 ) |
kafka-client-id | 指定同步任务的 Kafka 客户端的 ID(可选,默认值为 TiCDC_sarama_producer_同步任务的 ID ) |
partition-num | 下游 Kafka partition 数量(可选,不能大于实际 partition 数量。如果不填会自动获取 partition 数量。) |
max-message-bytes | 每次向 Kafka broker 发送消息的最大数据量(可选,默认值 64MB ) |
replication-factor | kafka 消息保存副本数(可选,默认值 1 ) |
protocol | 输出到 kafka 消息协议,可选值有 default 、canal 、avro 、maxwell 、canal-json (默认值为 default ) |
ca | 连接下游 Kafka 实例所需的 CA 证书文件路径(可选) |
cert | 连接下游 Kafka 实例所需的证书文件路径(可选) |
key | 连接下游 Kafka 实例所需的证书密钥文件路径(可选) |
TIPS:canal-json仅在TiCDC在4.0.8版本之后才行