TCHouse-C 集群迁移

最近更新时间:2023-09-05 11:25:16

我的收藏

功能介绍

本文为您介绍通过控制台进行 TCHouse-C 集群数据迁移的能力。云数据仓库 TCHouse-C 的缩容迁移可以支持业务数据以 Part 粒度从源集群迁移到目标集群,并在目标集群中均匀分布。
说明:
当前集群迁移功能为白名单功能,如需使用请联系我们

注意事项

1. 节点数据迁移是基于 Part 粒度进行迁移,从源集群迁移到目标集群(当前集群为目标集群),会让目标分片的相关表数据按照 Part 粒度达到均衡。
2. 一个数据表只能与一个任务绑定,一个集群最多同时支持一个任务执行中,迁移过程中源集群待迁移的表必须停止写入
3. 本地表数据库必须为 atomic(默认)或 ordinary,且表类型为 Mergetree 家族系列引擎的表(包括非复制表和复制表,不支持物化视图表)。
4. 本地表副本关系必须和 cluster 一致,待迁移的表在源集群和目标集群必须有相同的 schema
5. 迁移过程会生成临时表,临时表命名规则为:原表名_migration_temp_任务id\\_随机数字 。等到“待切换”状态时,请先验证临时表数据正确无误,再进行切换。切换完成后,原表数据保存在 “原表名_migration_任务id_随机数字” 的表中,验证无误后可进行老数据的删除操作。
6. 迁移任务可以配置任务总并发数、节点级并发数、单并发限速对任务进行性能控制,当任务总并发数或者节点级并发数为0时,任务会停滞进入暂停状态。
7. 迁移的数据会先保存到临时表中,执行切换的时候会用迁移后的均衡数据文件替换原表,该过程中可能读到错误数据,切换时间正常为秒级。
8. 任务进行过程中有可能由于集群问题导致任务暂停,任务暂停后可根据报错进行集群修复或配置,集群修复成功可以继续任务执行。

操作步骤

1. 登录 云数据仓库 TCHouse-C 控制台,在集群列表中选择对应的集群,在集群详情页面单击数据管理 > 数据迁移 > 集群迁移页面。
2. 可在当前页面查看已有的集群迁移任务列表。

3. 单击新建任务创建新的缩容迁移任务,需填写任务名称、选择源集群、源集群表所在的 v_cluster、目标集群v_cluster、选择迁移的表,单击确定提交。 源集群只会筛选出当前账号和当前集群同VPC下的集群。 集群迁移目前默认是使用 Part 模式来迁移数据的。通过在将源端分片上的表的 part,来实现 shard 间的数据均衡。
说明:
待迁移的表,只可选择源集群和目标集群具有相同schema的表。
参数说明:
节点级并发数:表示单台 TCHouse-C 节点同时处理的 Part 粒度的并发度。
任务总并发:表示整个任务在运行过程中,所有参与任务的节点的总并发数。
单并发限速:表示单个Part迁移时的限速
节点级并发数和任务并发数,任意一个参数设置为0,都会导致整个任务进入暂停状态;而且在不同规格集群、不同任务时,具体的参数值可能会有不同的效果,用户可以根据具体情况调整数值大小来调整任务速度和性能以及对集群的负载。



4. 创建完缩容迁移任务后,可以对任务进行启动、编辑、删除。编辑与新建窗口类似,可以重新对任务相关信息进行调整。

5. 单击启动可以开始集群迁移任务,同时云数据仓库 TCHouse-C 源集群和目标集群实例状态会变为 状态变更中(在集群基础页面也会进入状态变更中,但是没有进度条)。

当任务启动后,可以通过修改参数修改任务、节点的并发数、单并发限速,控制任务速度和对集群的负载,甚至暂停任务。
6. 可以单击详情查看该缩容迁移任务包含的表级别的执行信息详情。
7. 表的数据迁移执行过程会分为3个阶段:
执行中 :表示对表正在进行数据迁移,可能会涉及一些临时表的创建与删除、part的移动与删除、数据的读取与写入,此时对集群有一定的读写性能压力等。



待切换 :表示原表对应的数据完成了迁移,但是还未替代原表,用户需要对目标集群表迁移后对应的临时表的数据进行验证,确保数据迁移的正确性和数据一致性后,执行切换,让业务访问数据迁移后的表。

注意:
在切换到迁移数据源之前,请确保已经完成数据迁移操作前后数据一致性和准确性校验。切换后的数据表将作为系统读写的唯一数据源。



待删除原表:完成切换操作之后,原来表的数据文件并不会直接删除,用户可以对目标集群上迁移均衡后的数据进行进一步的验证,确保数据迁移的正确性后,再执行删除,将数据迁移前的数据文件彻底删除。执行删除后,表的状态会变为执行成功



注意:
此操作会永久删除数据迁移前的数据表物理文件,请确保已经完成数据迁移前后数据一致性和准确性校验,且已完成数据源的切换。
8. 此外,在对迁移的表执行切换操作之前,可以选择对表或者整个任务执行取消,会将数据迁移操作进行停止并回滚已有的动作。已执行切换删除操作的表,不支持取消回滚。
9. 在任务执行过程中,如果集群发生了类似网络抖动、重启或其他意外,有可能出现暂停状态,并会有暂停原因,用户可以根据具体情况对集群进行调整,或者提工单由腾讯云技术人员来协助处理。
10. 当所有待迁移的表到达最终态(包括已取消、执行成功等状态),该集群迁移任务也会变为执行结束 ,云数据仓库 TCHouse-C 实例的状态也变为运行中



注意:
集群迁移前的参数调整:集群迁移前建议添加以下参数,在缩容迁移过程中,会有临时表的删除操作,如果没有以下权限,可能导致任务暂停。
<max_table_size_to_drop>0</max_table_size_to_drop>