功能介绍
本文为您介绍通过控制台进行 TCHouse-C 集群数据迁移的能力,当前腾讯云数据仓库 TCHouse-C 的集群迁移功能支持多种迁移场景:
场景 | 说明 |
自建 ClickHouse 集群 | 将 IDC 私有环境部署、腾讯云 CVM 及其他云平台云服务器自建的 ClickHouse 集群迁移到腾讯云 TCHouse-C 中。 |
云数据仓库 TCHouse-C | 同一账号、同一地域下的云数据仓库 TCHouse-C 实例迁移。 |
操作步骤
1. 登录 腾讯云数据仓库 TCHouse-C 控制台,在 集群列表 中选择对应的集群,在集群详情页面单击 数据管理 > 数据迁移 > 数据迁移 页面。
2. 可在当前页面查看已有的集群迁移任务列表,已创建的集群迁移任务会自动保存、避免用户已输入的信息丢失。

3. 单击 新建任务 创建新的数据迁移任务,需填写任务名称、执行方式(当前仅支持 立即执行,定时执行 正在开发中)、源集群类型以及对应的源集群和目标连接信息。支持的源集群类型包括 自建ClickHouse 和 云数据仓库TCHouse-C 两种:
自建ClickHouse:支持 IDC 私有环境部署、腾讯云 CVM 及其他云平台云服务器自建的 ClickHouse 集群;
云数据仓库TCHouse-C:同一账号、同一地域下的云数据仓库 TCHouse-C 实例迁移。
源集群和目标集群连接信息如下:
说明:
集群迁移服务部署在腾讯云 VPC 中,操作迁移之前请确认已打通源集群与目标集群之间的网络访问通道,包括 VPN 连接、专线接入等方式。
需要输入的源集群连接信息如下:
源集群地址:需要填写 CK 节点所在集群的 IP 地址、SSH 端口号、节点所在机器的账户名及密码,源集群有多个节点时需要填写所有节点的信息;
备份目录:源集群的数据备份目录;
数据库访问账户及密码:具备库表读写权限和 SYSTEM 命令执行权限的数据库账号及密码(建议使用default账号);

需要输入的目标集群连接信息如下:
数据库端口:目标集群的访问端口,默认为 9000;
数据库访问账户及密码:具备库表读写权限和 SYSTEM 命令执行权限的数据库账号及密码(建议使用default账号);

说明:
当前仅支持同一账号、同一地域下的云数据仓库 TCHouse-C 实例迁移,后续将支持跨账号及跨地域间的集群迁移。
需要输入的集群连接信息如下:
源集群:当前操作所在的集群即为目标集群,在下拉列表中选择需要迁移的源集群ID;
源/目标集群数据库访问账户及密码:具备库表读写权限和 SYSTEM 命令执行权限的数据库账号及密码(建议使用default账号);

4. 单击 下一步:迁移库表范围,系统会自动采集源集群的元数据库表信息。当库表数量较大时,采集元数据需要等待 1-2 分钟。当前支持的迁移粒度包括 整库迁移 和 按库表范围,选择 整库迁移 会自动选择源集群 default_cluster 下的所有 MergeTree 引擎表(含本地表、分布式表、副本表以及物化视图表),选择 按库表迁移 可按表进行筛选需要迁移的表范围,支持通过表名进行搜索。迁移并行度参数为每个节点同时执行的子任务数,默认为 10(在网络带宽和磁盘 IO 未跑满时,调整该参数可提升迁移速度,一般场景下保持默认值即可)。

说明:
当前仅支持迁移 MergeTree 引擎表(含本地表、分布式表、副本表以及物化视图),暂不支持迁移外部表、日志表、系统表以及其他各类特殊表引擎。
5. 单击 下一步:任务前置检测,会自动进行集群迁移的前置检测,按照集群规模和库表数据量大小,前置检测将持续 1-5 分钟,前置检测过程中会异步更新每一检测项的检测结果,只有当全部检测项都通过时才可发起后续的数据迁移操作。如果某些检测项未通过,可调整该检测项后发起重试。

迁移任务前置检测说明:
检测项 | 检测结果说明 | 检测不通过时如何调整 |
节点数量匹配检查 | 检查源集群和目标集群的节点数量是否一致。 | 暂不支持非对等节点数的迁移,当前正在排期开发中 |
集群流程状态检查 | 检查集群是否处于其他流程中,如垂直变配或水平扩容、内核版本升级、配置下发、重启等。 | 等待流程完成即可 |
节点连通性检查 | 检查源集群和目标集群每个节点之间的网络连通性。 | 打通源集群与目标集群之间的网络访问通道 |
集群状态检查 | 检查集群运行状态是否正常。 | 检查集群能否正常访问 |
容量预估检查 | 预估任务涉及库表容量,确保目标集群容量为预估容量的1.2倍 | 扩容目标集群磁盘空间 |
源集群磁盘容量检查 | 检查源集群磁盘容量是否小于80%。 | 删除部分数据或扩容源集群磁盘空间 |
System.parts启用检查 | 检查system.parts是否已开启。 | 如未开启需开启 |
配置对齐检查 | 检查重要配置项,目标集群是否对齐源集群。 | 参数配置对齐 |
版本兼容性检查 | 检查版本兼容性,源集群和目标集群内核版本需要基本对齐 | 低版本升级至更高版本 |
目标表存在性检查 | 检查目标集群的任务库表是否存在(如存在则报错) | 删除目标集群所需迁移的表 |
目标集群Cluster信息检查 | 检查目标集群Cluster信息是否正确,暂不支持迁移多个vcluster | 调整多vcluster |
6. 单击 下一步:数据迁移,系统将开启正式的数据迁移。迁移过程中,源集群可正常读写,目标集群可读、但不可写迁移的表,避免数据校验无法通过。受迁移数据总量、网络带宽、CK 节点规模、集群负载、磁盘 IO 等多方面因素影响,数据迁移任务将持续数分钟到数小时不等,系统后台将异步刷新迁移进度。数据迁移分为存量数据迁移和增量数据迁移两个阶段,当存量数据迁移完成后,迁移状态一栏会显示 已完成,届时可以操作进行增量数据迁移。

说明:
1. 迁移过程中,源集群可正常读写,目标集群可读、但不可写需要迁移的表,否则数据校验无法通过。
2. 迁移过程中,源集群和目标集群均不可进行 DDL 操作(增、删、改库表等操作);
7. 当存量数据迁移完成后,单击 开启增量迁移 即可开启增量数据迁移。开启后,系统会自动读取并迁移源集群中新产生的所有增量数据,预计需要 10-60 分钟。为了保证增量数据迁移尽快完成,用户需要自行停止源集群的数据写入,并在控制台上勾选 源集群数据读写 进行操作确认。确定停写后,系统将关闭源集群所迁移库表的 Merge 功能,便于后续进行数据校验。
部分迁移的库表数据量较大时、由于网络抖动影响,迁移过程中可能会产生迁移失败的情况,单击重试即可。

8. 当源集群和目标集群的存量及增量数据完全追齐后,可开启数据校验阶段,系统会对源集群和目标集群的数据进行比对,包括总的Part数、迁移成功Part数、总数据行数、迁移成功数据行数,未通过校验的数据表会自动执行重试。

9. 当数据校验通过后,单击 关闭任务,数据迁移正式完成,即可对业务进行正式割接。迁移完后,系统会重新打开源集群和目标集群迁移库表的Merge,并且后续源集群的新增数据不再进行同步至目标集群,建议客户在单击完成任务之前完成读写切流。