云原生多模数据库 Lindorm二级索引在物理存储上会映射为一张数据表,与主表独立。因此,如果您想要将源Lindorm实例中的表及其二级索引结构迁移至新的Lindorm实例,则需同时迁移主表和二级索引表。本文介绍同时迁移主表及二级索引表的操作方法及相关配置说明。
前提条件
- 检查源实例、目标实例、LTS的网络连通性。 
- 已添加源实例、目标实例的数据源。如何添加,请参见添加Lindorm宽表数据源。 
注意事项
- 迁移前请确认目标实例的HDFS容量,确保可用容量足以支撑数据迁移,避免迁移过程中出现容量已满导致任务失败的情况。 
- 不支持修改表名。当存在修改表名的格式(tableA/tableB)时,将自动忽略索引表。 
步骤一:确定需要迁移的表
以迁移数据库default下的主表dt和其对应的二级索引表为例。
- 登录集群管理系统。具体操作,请参见登录集群管理系统。 
- 在概览页面,查看目标表和二级索引表。二级索引表命名规则: - <主表名>.<二级索引名>,主表- dt的二级索引- idx对应的二级索引表名为- dt.idx。 
步骤二:创建迁移任务
- 在左侧导航栏,选择。 
- 单击创建任务。 
- 选择源集群和目标集群。 
- 勾选操作:表结构迁移、实时数据复制和历史数据迁移。 - 表结构迁移:在目标集群创建表(Schema、分区信息一致),目标集群表已存在会跳过。 
- 实时数据复制:同步源集群的实时增量数据。 
- 历史数据迁移:文件级别的全量文件物理迁移。 
 
- 在同步/迁移的表中,填写需要迁移的表。格式为 - <数据库名>:<需要迁移的表名>,例如- default:dt。如果需要迁移多张表,请通过换行隔开。如下图所示。说明- 更多同步/迁移配置的参数说明,请单击参数说明查看。 
- 选择对索引表的操作:  - 操作 - 说明 - 同步主表DML、索引表DML - 同步主表DML、索引表DDL+DML - 索引表的数据变化会同步到目标端,且新增索引表和删除索引表的操作也会同步到目标端。 重要- 当建立双向链路时,只能以一个集群为主集群同步索引DDL操作。 - 假设需要将集群A的数据迁移至集群B并创建双向链路,且以集群A的索引变化为基准(A为主集群)。此时创建集群A至集群B的链路,勾选同步主表DML、索引表DDL+DML;建立集群B到集群A的链路,只能勾选同步主表DML、索引表DML。 - 仅同步主表DML - 不同步索引表的数据变化,仅同步主表的数据变化,同步到目标集群的主表数据会触发目标集群的索引构建。 - 适用于源集群和目标集群期望构建不同索引表的场景。 重要- 通过该方式进行表结构迁移会自动将目标表的MUTABILITY表属性设置为 - MUTABLE_ALL。重要- 不支持修改索引表名。例如,在同步/迁移的表中填写tableA/tableB,如果tableA为主表,系统会将tableA迁移至目标集群并重命名为tableB。如果tableA为索引表,系统会自动忽略。 
- LTS会自动处理新增主表的情况。例如,当表名填写namespace:*时,在勾选表结构迁移的情况下,源集群新增主表会自动同步至目标集群。 
 
- (可选)如果源集群是自建集群,在高级配置中填写 - {"exporterEnable":false}。如果源集群非自建集群,可跳过此步骤。
- 单击创建。 
步骤三:确认是否迁移成功
在一键迁移页面单击目标任务名,查看批量迁移任务的执行进度。如果迁移任务的状态为SUCCEEDED,表示数据批量迁移任务已完成。