如果您想要将源HBase集群或源Lindorm实例中某个时间段的历史数据迁移至新的Lindorm实例,或想要同步实时数据到新Lindorm实例,可以在创建任务时添加相关时间参数,修改任务配置。本文介绍通过LTS控制台创建任务时配置迁移或同步时间范围的方法。
前提条件
已检查源集群、目标集群、LTS的网络连通性。
已添加Lindorm数据源。如何添加,请参见添加Lindorm宽表数据源。
注意事项
迁移前请确认目标实例的HDFS容量,确保可用容量足以支撑数据迁移,避免迁移过程中出现容量已满导致任务失败的情况。
根据时间范围筛选迁移数据的过程会对数据读取进行解析,因此会占用一定的CPU资源,可能会增加数据迁移的时间。
在创建实时同步任务前,请先检查源集群的日志保留时间(hbase.master.logcleaner.ttl),防止日志保留时间过短导致任务失败。检查及修改方式,请参见修改日志保留时间。
说明创建实时同步任务是指创建实时数据复制任务,或创建一键迁移任务时勾选了实时数据复制。
历史数据迁移
在左侧导航栏,选择
。单击创建任务。
填写并勾选相关参数:源集群、目标集群、表结构迁移。
在同步/迁移的表中,添加时间参数,格式为
<表名>{"startTs": "<起始时间点>", "endTs": "<终止时间点>"}
。例如tableA {"startTs": "20200101000000", "endTs": "20200102000000"}
表示迁移tableA
中2020年1月1号零点整到2020年1月2日零点整的数据。参数
说明
startTs
起始时间,表示迁移该时间点之后(包含该时间点)的数据。格式为
YYYYMMDDHHMMSS
,表示年月日时分秒
。endTs
终止时间,表示迁移该时间点之前(包含该时间点)的数据。格式为
YYYYMMDDHHMMSS
,表示年月日时分秒
。重要startTs和endTs表示某个具体时间点,格式不是时间戳。例如
20200101132250
表示2020年01月01日13点22分50秒。startTs和endTs可以根据需求填写:
只指定起始时间点:仅填写startTs即可,格式为
<表名>{"startTs": "<起始时间点>"}
。表示迁移该时间点之后的所有历史数据。只指定终止时间点:仅填写endTs即可,格式为
<表名>{"endTs": "<终止时间点>"}
。表示迁移该时间点之前的所有历史数据。
(可选)如果源集群是自建HBase集群,在高级配置中填写
{"exporterEnable":false}
。如果源集群非自建集群,可跳过此步骤。单击创建,创建迁移任务并保存配置。
实时数据复制
实时数据复制是通过WAL日志(Write-Ahead Log)进行同步的,因此只能同步系统当前日志中的数据,例如设置同步的开始时间为3天前,而WAL日志只涵盖了1天前的数据,那么实时数据复制只能同步1天前的数据。
历史数据的同步必须使用历史数据迁移任务来完成。
在LTS控制台的左侧导航栏,选择
。单击创建任务。
填写并勾选相关参数:源集群、目标集群、表结构迁移、同步/迁移的表。
在高级配置中填写时间参数,格式为
{"startTS": <起始时间戳>,"endTS":<终止时间戳>}
,表示同步一个时间范围内的实时数据。参数
说明
startTS
起始时间,表示同步该时间点之后(包含该时间点)的数据。startTS为13位时间戳,单位为毫秒(ms)。
endTS
终止时间,表示同步该时间点之前(包含该时间点)的数据。endTS为13位时间戳,单位为毫秒(ms)。
startTS和endTS可以根据需求填写:
只指定同步开始时间:仅填写startTS即可,格式为
{"startTS": "<起始时间戳>"}
。表示同步该时间点之后的所有实时数据。只指定同步结束时间:仅填写endTS即可,格式为
{"endTS": "<终止时间戳>"}
。表示从当前时间开始数据同步,到该时间戳对应的时间点结束同步。
重要如果源集群是自建HBase集群,还需在高级配置中添加
"exporterEnable":false
。单击创建,创建同步任务并保存配置。
一键迁移
您可以在一键迁移中同时配置历史迁移任务和实时数据同步任务。