TiCDC 安装部署与集群运维
在生产环境中,TiCDC 的软件和硬件配置推荐如下:
CPU | 内存 | 硬盘类型 | 网络 | TiCDC 集群实例数量(生产环境最低要求) |
---|---|---|---|---|
16 核+ | 64 GB+ | SSD | 万兆网卡(2 块最佳) | 2 |
更多信息参见 。
使用 TiUP 部署包含 TiCDC 组件的全新 TiDB 集群
在使用 TiUP 部署全新 TiDB 集群时,支持同时部署 TiCDC 组件。你需要在 TiUP 启动 TiDB 集群时的配置文件中加入 TiCDC 相关的部分,以下是一个示例:
更多参考:
- 详细配置参数,请参考。
- 具体可配置字段,请参考通过 TiUP 配置 cdc_servers。
- 部署集群的具体步骤,请参考。
注意
在安装之前,请确认 TiUP 中控机与 TiCDC 目标主机的 SSH 互信及 sudo 免密已经完成配置。
使用 TiUP 在原有 TiDB 集群上新增或扩容 TiCDC 组件
扩容的方式与部署 TiCDC 集群的方式类似,推荐使用 TiUP 工具完成。
编写一个名为 的配置文件,包含需要扩容的节点的配置信息。下面是一个示例:
cdc_servers:
- host: 10.1.1.1
gc-ttl: 86400
data_dir: /tidb-data/cdc-8300
- host: 10.1.1.2
data_dir: /tidb-data/cdc-8300
- host: 10.0.1.4:8300
gc-ttl: 86400
data_dir: /tidb-data/cdc-8300
-
tiup cluster scale-out <cluster-name> scale-out.yml
更多用例说明,请参考扩容 TiCDC 节点。
推荐使用 TiUP 完成对 TiCDC 集群节点的缩容。使用类似下面的命令完成缩容:
更多用例说明,请参考缩容 TiCDC 节点。
使用 TiUP 升级 TiCDC 集群
TiUP 支持升级 TiDB 集群,包括 TiCDC 组件。执行升级指令时,TiUP 会自动升级 TiCDC 组件,无需额外操作。操作示例如下:
tiup update --self && \
tiup update --all && \
tiup cluster upgrade <cluster-name> <version> --transfer-timeout 600
注意
命令中的 <cluster-name>
需要替换为集群名字,<version>
需要替换为目标版本号,例如 。
升级 TiCDC 集群时,需要注意以下事项:
TiCDC v4.0.2 对
changefeed
的配置做了调整,请参阅。TiCDC 自 v6.3.0 起支持滚动升级,使用 TiUP 升级 TiCDC 节点期间,能够保证同步延迟稳定,不发生剧烈波动。满足以下条件将自动启用滚动升级:
- TiCDC 版本大于等于 v6.3.0。
- TiUP 版本大于等于 v1.11.0。
- 集群中至少有两个正在运行的 TiCDC 实例。
使用 TiUP 变更 TiCDC 集群配置
本节介绍如何使用 TiUP 的 命令来修改 TiCDC 的配置。在以下例子中,假设需要把 TiCDC 的 gc-ttl
从默认值 86400
修改为 172800
,即 48 小时。
执行
tiup cluster edit-config
命令,注意将<cluster-name>
替换成实际的集群名:tiup cluster edit-config <cluster-name>
在 vi 编辑器页面,修改 server-configs 下的
cdc
配置:以上把 TiCDC 的
gc-ttl
的值设置为 48 小时。执行
tiup cluster reload -R cdc
命令重新加载配置。
使用 TiUP 可以方便地终止和启动 TiCDC 节点,命令如下:
- 启动 TiCDC 节点:
tiup cluster start -R cdc
- 重启 TiCDC 节点:
tiup cluster restart -R cdc
使用加密传输 (TLS) 功能
请参阅。
使用 TiCDC 命令行工具来查看集群状态
执行以下命令来查看 TiCDC 集群运行状态,注意需要将 v<CLUSTER_VERSION>
替换为 TiCDC 集群版本,例如 v6.5.2
:
tiup ctl:v<CLUSTER_VERSION> cdc 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 节点。- :该 TiCDC 的集群 ID,默认值为
default
。