云原生多模数据库 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
,表示数据批量迁移任务已完成。