帮你快速理解、总结文档立即下载

数据迁移

最近更新时间:2026-08-10 16:06:42
我的收藏

功能介绍

本文为您介绍通过控制台进行腾讯云数据仓库 TCHouse-C 集群数据迁移的能力。集群数据迁移功能支持将源集群的数据(包括元数据与业务数据)迁移至目标集群,适用于集群版本升级、机房裁撤、业务整合等场景。
当前支持的迁移场景如下:
场景
说明
自建 ClickHouse 集群
将 IDC 私有环境部署、腾讯云 CVM 及其他云平台云服务器自建的 ClickHouse 集群迁移到腾讯云 TCHouse-C 中。
云数据仓库 TCHouse-C
同一账号或跨账号、同一地域或跨地域下的云数据仓库 TCHouse-C 实例迁移。
说明:
集群数据迁移功能为白名单功能,如需使用请联系 在线客服 咨询使用。

功能范围

1. 支持不对等节点数集群间的数据迁移(源集群与目标集群节点数可不同),覆盖少节点到多节点、多节点到少节点两种场景。
2. 支持 SSH 连接被拒时自动重试,避免迁移过程中因网络波动导致任务中断,降低人工介入频率。
3. 支持「迁移并行度」和「单任务带宽限制」两个参数设置,使“迁移”任务进行精细化速度控制。
4. 前置连通性校验,在采集元数据前先验证源集群网络可达性与账户权限。
5. 创建任务时即校验源/目标集群的库表读写权限及 SYSTEM 命令执行权限。
6. 支持跨地域 TCHouse-C 实例间迁移(需用户自行通过云联网或对等连接打通 VPC 网络)。
7. 迁移任务取消或失败时,自动回滚并清理目标集群中已创建的临时库表。

注意事项

1. 迁移过程中,源集群可正常读写,目标集群仅可读、不可写入待迁移的表,否则数据校验将无法通过。
2. 迁移过程中,源集群和目标集群均不可执行 DDL 操作(增、删、改库表等)。
3. 当前仅支持迁移 MergeTree 引擎系列的表(含本地表、分布式表、副本表以及物化视图,不对等迁移仅支持本地表迁移),暂不支持外部表、日志表、系统表等特殊表引擎。
4. 跨地域迁移场景,请确保源集群与目标集群之间的 VPC 网络已通过云联网或对等连接方式打通。
5. 迁移并行度参数表示单目标节点同时执行的子任务数;单任务带宽限制使用 rsync --bwlimit 控制单个任务的最大网络带宽。预期单目标节点迁移最大速度为:迁移并行度 × 单任务带宽限制。
6. 增量数据迁移开启前,需要用户自行停止源集群的数据写入,并勾选确认源集群已停写,确保增量数据能够快速追齐。

操作步骤

进入数据迁移页面

1. 登录 腾讯云数据仓库 TCHouse-C 控制台,在 集群列表 中选择对应的集群,进入集群详情页面。
2. 单击左侧导航栏 数据管理 > 数据迁移 进入数据迁移管理页面。
3. 在该页面可查看已有的集群迁移任务列表,已创建的任务会自动保存,避免用户输入信息丢失。


创建迁移任务 — 基本信息配置

1. 单击 新建任务 进入迁移任务创建向导。
2. 填写任务名称(自定义,建议包含迁移用途和时间信息)。
3. 选择执行方式:目前支持 立即执行,定时执行功能正在规划中。
4. 选择源集群类型:
自建ClickHouse:适用于 IDC 私有环境、CVM 自建或第三方云平台自建的 ClickHouse 集群。
云数据仓库TCHouse-C:适用于同一账号/跨账号、同一地域/跨地域的 TCHouse-C 实例。

配置源集群与目标集群连接信息

根据所选源集群类型,填写对应的连接信息:
自建ClickHouse
云数据仓库TCHouse-C
说明:
自建 ClickHouse 场景下,需在创建任务前确认源集群与腾讯云 VPC 之间的网络访问通道已打通(如 VPN 连接、专线接入、云联网等)。
需要输入的源集群连接信息如下:
源集群节点信息:填写每个 CK 节点的 IP 地址、SSH 端口、节点账户名及密码。
备份目录:源集群的数据备份目录路径(rsync 传输所需的中间目录)。
数据库访问账户及密码:具备库表读写权限和 SYSTEM 命令执行权限的数据库账号(建议使用 default 账号)。

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

说明:
当前仅支持同一账号、同一地域下的云数据仓库 TCHouse-C 实例迁移,后续将支持跨账号及跨地域间的集群迁移。
需要输入的集群连接信息如下:
源集群:从下拉列表中选择需要迁移数据的源集群 ID。
源/目标集群数据库访问账户及密码:具备库表读写权限和 SYSTEM 命令执行权限的数据库账号(建议使用 default 账号)。
跨地域迁移时,需确认源集群与目标集群之间的 VPC 网络已通过云联网或对等连接方式打通。


前置连通性校验

1. 系统自动对源集群进行连通性校验,包括:网络可达性检测、用户名/密码校验。
2. 只有通过连通性校验后,系统才会继续采集源集群的元数据库表信息。未通过校验时,请检查网络连接和账户密码配置后重试。

选择迁移库表范围

1. 系统通过前置校验后,会自动采集源集群的元数据库表信息。库表数量较大时,采集过程约需 1-2 分钟。
2. 选择迁移粒度:
整库迁移:自动选择源集群 default_cluster 下的所有 MergeTree 引擎表(含本地表、分布式表、副本表以及物化视图)。
按库表迁移:手动勾选需要迁移的具体库表,支持按表名搜索过滤。不对比节点数迁移时,不可选择分布式表。
3. 配置迁移并行度:表示单目标节点同时执行的子任务数,默认为 10。
4. 配置单任务带宽限制:单个迁移任务的网络带宽上限(单位:MB/s),使用 rsync --bwlimit 控制。一般情况下保持默认值即可,网络带宽充裕时可适当调大以提升迁移速度。
5. 预期迁移速度参考:单目标节点最大速度 = 迁移并行度 × 单任务带宽限制。


任务前置检测

1. 单击 下一步:任务前置检测,系统将自动对迁移任务进行全面的前置检测。
2. 根据集群规模和库表数据量,前置检测约持续 1-5 分钟,系统会异步更新每个检测项的结果。
3. 只有全部检测项通过后,才可发起数据迁移操作。检测不通过时,可调整对应配置后单击 重试。

前置检测项说明如下:
检测项
检测说明
不通过时的调整建议
节点连通性检查
检查源集群和目标集群每个节点之间的网络连通性
打通源集群与目标集群之间的网络访问通道
集群流程状态检查
检查集群是否处于其他流程中(如垂直变配、水平扩容、版本升级等)
等待当前流程执行完毕
集群状态检查
检查集群运行状态是否正常
确认集群可正常访问
容量预估检查
预估迁移涉及库表的容量,确保目标集群可用容量为预估容量的 1.2 倍以上
扩容目标集群磁盘空间
源集群磁盘容量检查
检查源集群磁盘使用率是否低于 80%
清理部分数据或扩容源集群磁盘空间
system.parts 启用检查
检查 system.parts 系统表是否已开启
确认 system.parts 已启用
配置对齐检查
检查源集群与目标集群的重要配置项是否一致
调整配置参数使其对齐
版本兼容性检查
检查源集群和目标集群的内核版本兼容性
将低版本集群升级至兼容版本
目标表存在性检查
检查目标集群中是否已存在待迁移的表
删除目标集群中与待迁移表同名的表
Cluster 信息检查
检查目标集群的 Cluster 配置是否正确,暂不支持多 vcluster 迁移
调整多 vcluster 配置
账户权限校验
检查源集群和目标集群的数据库账户是否具备必要权限
为账户授予库表读写及 SYSTEM 命令执行权限

执行数据迁移

1. 单击 立即执行:数据迁移,系统将正式开启数据迁移任务。
2. 迁移过程分为两个阶段:
存量数据迁移:迁移源集群中已有的全部存量数据。受数据总量、网络带宽、节点规模等因素影响,持续数分钟到数小时不等。系统后台异步刷新迁移进度。
增量数据迁移:存量数据迁移完成后,单击 开启增量迁移。开启前需要用户自行停止源集群写入,并勾选 确认源集群已停写。系统将关闭源集群迁移库表的 Merge 功能,便于后续数据校验。预计需要 10-60 分钟。
3. 迁移过程中,如果个别子任务因网络抖动等原因失败,系统会自动重试。若自动重试仍失败,可单击 重试 手动触发。

注意:
迁移过程中,源集群可正常读写;目标集群可读但不可写入待迁移的表,否则数据校验无法通过。同时源集群和目标集群均不可执行 DDL 操作(增、删、改库表等操作)。


数据校验与割接

1. 当源集群和目标集群的存量及增量数据完全追齐后,单击 开启数据校验。
2. 系统将自动对比源集群与目标集群的数据,包括:总 Part 数、迁移成功 Part 数、总数据行数、迁移成功数据行数。
3. 未通过校验的数据表会自动执行重试。
4. 数据校验通过后,单击 关闭任务,数据迁移正式完成。
5. 关闭任务后,系统将重新打开源集群和目标集群迁移库表的 Merge 功能,且源集群的新增数据不再同步至目标集群。
6. 建议在单击 关闭任务 前完成业务读写切流,将业务流量切换至目标集群。


任务异常处理

1. 若迁移过程中需要取消任务,系统将自动回滚并清理目标集群中已创建的临时库表。
2. 任务失败时,可通过任务详情查看具体的错误信息。系统错误分为两类:
环境/校验错误:如网络不通、账户权限不足等,系统会在报错信息中明确提示具体原因及解决建议。
系统内部错误:建议 提交工单 由腾讯云技术人员协助排查。

实践教程

迁移场景

将自建 ClickHouse 集群整体搬迁至腾讯云 TCHouse-C,降低自建运维成本,享受云上弹性扩缩容及高可用能力。
TCHouse-C 同地域实例升级替换:创建新版本集群后,通过数据迁移将业务数据平滑过渡至新集群。
跨地域数据迁移:将业务从某个地域的 TCHouse-C 实例迁移至另一地域,用于灾备或就近接入。
缩容场景下数据迁移:减少集群节点前,先将下线节点上的数据迁移至保留节点。

迁移前参数调整

迁移前建议在源集群和目标集群的配置文件中添加以下参数,避免临时表删除操作因权限不足而失败:
<max_table_size_to_drop>0</max_table_size_to_drop>
<max_partition_size_to_drop>0</max_partition_size_to_drop>

性能优化建议

1. 迁移前可手动执行 OPTIMIZE 语句触发 Merge,增大 Part 体积,减少传输元数据开销,提升迁移效率。
2. 在网络带宽和磁盘 IO 未跑满时,适当调大迁移并行度参数可提升迁移速度。
3. 对于数据量较大的场景,建议在业务低峰期执行迁移,避免对线上业务造成影响。