TiCDC 安装部署与集群运维
本文档介绍部署 TiCDC 集群的软硬件环境要求,如何安装部署 TiCDC 集群,以及如何对 TiCDC 集群进行运维操作。你可以选择在安装 TiDB 集群的同时部署 TiCDC,也可以对原有 TiDB 集群新增 TiCDC 组件。
软件和硬件环境推荐配置
在生产环境中,TiCDC 的软件和硬件配置推荐如下:
| Linux 操作系统 | 版本 | 
|---|---|
| Red Hat Enterprise Linux | 7.3 及以上 | 
| CentOS | 7.3 及以上 | 
| CPU | 内存 | 硬盘 | 网络 | TiCDC 集群实例数量(生产环境最低要求) | 
|---|---|---|---|---|
| 16 核+ | 64 GB+ | 500 GB+ SSD 类型硬盘 | 万兆网卡(2 块最佳) | 2 | 
更多信息参见 TiDB 软件和硬件环境建议配置。
使用 TiUP 部署包含 TiCDC 组件的全新 TiDB 集群
在使用 TiUP 部署全新 TiDB 集群时,支持同时部署 TiCDC 组件。你需要在 TiUP 启动 TiDB 集群时的配置文件中加入 TiCDC 相关的部分,以下是一个示例:
cdc_servers:
  - host: 10.0.1.20
    gc-ttl: 86400
    data_dir: "/cdc-data"
  - host: 10.0.1.21
    gc-ttl: 86400
    data_dir: "/cdc-data"
更多参考:
- 详细配置参数,请参考编辑初始化配置文件。
- 具体可配置字段,请参考通过 TiUP 配置 cdc_servers。
- 部署集群的具体步骤,请参考使用 TiUP 部署 TiDB 集群。
使用 TiUP 在原有 TiDB 集群上新增或扩容 TiCDC 组件
扩容的方式与部署 TiCDC 集群的方式类似,推荐使用 TiUP 工具完成。
- 编写一个名为 - scale-out.yml的配置文件,包含需要扩容的节点的配置信息。下面是一个示例:cdc_servers: - host: 10.1.1.1 gc-ttl: 86400 data_dir: /tidb-data/cdc-8300 - host: 10.1.1.2 gc-ttl: 86400 data_dir: /tidb-data/cdc-8300 - host: 10.0.1.4 gc-ttl: 86400 data_dir: /tidb-data/cdc-8300
- 在 TiUP 中控机上执行类似下面的命令进行扩容: tiup cluster scale-out <cluster-name> scale-out.yml
更多用例说明,请参考扩容 TiCDC 节点。
使用 TiUP 在原有 TiDB 集群上移除或缩容 TiCDC 组件
推荐使用 TiUP 完成对 TiCDC 集群节点的缩容。使用类似下面的命令完成缩容:
tiup cluster scale-in <cluster-name> --node 10.0.1.4:8300
更多用例说明,请参考缩容 TiCDC 节点。
使用 TiUP 升级 TiCDC 集群
TiUP 支持升级 TiDB 集群,包括 TiCDC 组件。执行升级指令时,TiUP 会自动升级 TiCDC 组件,无需额外操作。操作示例如下:
tiup update --self && \
tiup update --all && \
tiup cluster upgrade <cluster-name> <version> --transfer-timeout 600
升级的注意事项
升级 TiCDC 集群时,需要注意以下事项:
- TiCDC v4.0.2 对 - changefeed的配置做了调整,请参阅配置文件兼容注意事项。
- 升级期间遇到的问题及其解决办法,请参阅使用 TiUP 升级 TiDB。 
- TiCDC 自 v6.3.0 起支持滚动升级,使用 TiUP 升级 TiCDC 节点期间,能够保证同步延迟稳定,不发生剧烈波动。满足以下条件将自动启用滚动升级: - TiCDC 版本大于等于 v6.3.0。
- TiUP 版本大于等于 v1.11.3。
- 集群中至少有两个正在运行的 TiCDC 实例。
 
使用 TiUP 变更 TiCDC 集群配置
本节介绍如何使用 TiUP 的 tiup cluster edit-config 命令来修改 TiCDC 的配置。在以下例子中,假设需要把 TiCDC 的 gc-ttl 从默认值 86400 修改为 172800,即 48 小时。
- 执行 - tiup cluster edit-config命令,注意将- <cluster-name>替换成实际的集群名:tiup cluster edit-config <cluster-name>
- 在 vi 编辑器页面,修改 - server-configs下的- cdc配置:server_configs: tidb: {} tikv: {} pd: {} tiflash: {} tiflash-learner: {} pump: {} drainer: {} cdc: gc-ttl: 172800- 以上把 TiCDC 的 - gc-ttl的值设置为 48 小时。
- 执行 - tiup cluster reload -R cdc命令重新加载配置。
使用 TiUP 终止和启动 TiCDC 节点
使用 TiUP 可以方便地终止和启动 TiCDC 节点,命令如下:
- 终止 TiCDC 节点:tiup cluster stop -R cdc
- 启动 TiCDC 节点:tiup cluster start -R cdc
- 重启 TiCDC 节点:tiup cluster restart -R cdc
使用加密传输 (TLS) 功能
使用 TiCDC 命令行工具来查看集群状态
执行以下命令来查看 TiCDC 集群运行状态,注意需要将 v<CLUSTER_VERSION> 替换为 TiCDC 集群版本,例如 v7.1.5:
tiup cdc:v<CLUSTER_VERSION> cli capture list --server=http://10.0.10.25:8300
[
  {
    "id": "806e3a1b-0e31-477f-9dd6-f3f2c570abdd",
    "is-owner": true,
    "address": "127.0.0.1:8300",
    "cluster-id": "default"
  },
  {
    "id": "ea2a4203-56fe-43a6-b442-7b295f458ebc",
    "is-owner": false,
    "address": "127.0.0.1:8301",
    "cluster-id": "default"
  }
]
- id:表示服务进程的 ID。
- is-owner:表示该服务进程是否为 owner 节点。
- address:该服务进程对外提供接口的地址。
- cluster-id:该 TiCDC 的集群 ID,默认值为- default。