如果您想将InfluxDB(云TSDB for InfluxDB)中的数据迁移至Lindorm,可以通过LTS服务完成历史数据的迁移。本文介绍将InfluxDB中的数据全量迁移至Lindorm时序引擎的方法。
前提条件
InfluxDB为1.8.13及以上版本。
已开通Lindorm时序引擎。
已开通LTS。如何开通,请参见购买并登录LTS。
注意事项
建议InfluxDB实例、Lindorm实例、LTS实例使用相同的专有网络,以保证网络的连通性。具体说明,请参见网络打通。
迁移过程中,系统会读取InfluxDB实例中的数据,并将其写入Lindorm时序引擎。如果以下数值过高,可能会加重系统负载进而影响系统稳定性,因此,在迁移前请根据InfluxDB实例规格和负载,结合以下数值评估迁移影响:
说明如果当前实例负载过高,建议您升级配置后再进行迁移。
时间线数量
数据总量
平均每条时间线数据的上报频率
需要迁移的数据总时间范围
每个迁移作业切分周期的时间间隔
InfluxDB实例默认使用19位Unix时间戳,单位为纳秒(ns),Lindorm时序引擎仅支持13位Unix时间戳,单位为毫秒(ms)。数据迁移后源数据的时间会自动截断为13位Unix时间戳,单位为毫秒(ms)。
LTS支持迁移历史数据至Lindorm实例,支持自定义时间范围,但无法保证增量数据的迁移。因此,建议您将数据同时写入InfluxDB和Lindorm后再迁移历史数据。
InfluxDB中的数据可以通过设置数据保留策略实现物理隔离,Lindorm时序引擎中的数据可以通过设置冷热分离策略、数据有效期(TTL)等实现物理隔离,因此,Lindorm时序引擎中的数据库和InfluxDB中每个数据库的数据保留策略一一对应。
迁移任务内部无并发,您可以在数据库保留策略和时间范围上拆分迁移任务,提交多个迁移任务来提高迁移并发度。
如果想将自建InfluxDB中的数据迁移至Lindorm时序引擎,请联系Lindorm技术支持(钉钉号:s0s3eg3)。
配置数据源
配置Lindorm TSDB数据源
访问LTS操作页面,具体操作请参见购买并登录LTS。
在左侧导航栏中,选择
。在添加数据源页面,配置以下参数。
名称:输入数据源的名称。
数据源类型:固定选择Lindorm-TSDB。
数据源参数:代码如下。
{ "address": "http://ld-bp17j28j2y7pm****-proxy-tsdb-pub.lindorm.rds.aliyuncs.com:8242", "client":"sdk", "schemaPolicy":"WEAK", "accessId": "", "accessKey": "", }
参数说明
参数
说明
address
Lindorm时序引擎的时序HTTP地址。如何获取,请参见查看时序引擎连接地址。
client
固定填写为
sdk
。schemaPolicy
填写为
WEAK
。说明该参数为可选字段。如果不添加该参数,则必须手动创建Table Schema,详细说明请参见Schema约束。
accessId
填写为空即可。
accessKey
单击确定,状态为已关联表示数据源已添加成功。
配置InfluxDB数据源
在添加数据源页面,配置以下参数。
名称:输入数据源的名称。
数据源类型:固定选择Lindorm-TSDB。
数据源参数:代码如下。
{ "address": "https://ts-xxxxx:8086", "hdfsUri":"file:///", "accessId": "", "accessKey": "", }
参数说明
参数
说明
address
TSDB for InfluxDB的HTTPS地址。
hdfsUri
固定填写为
file:///
。
配置并启动迁移任务
在Lindorm时序引擎中创建目标数据库(对应InfluxDB中的Database)和目标表(对应InfluxDB中的measurement)。如何创建,请参见CREATE DATABASE和CREATE TABLE。
说明数据只会迁移至已创建的数据库和表中。如果配置Lindorm TSDB数据源时,schemaPolicy参数的值设置为
WEAK
,则系统会自动创建目标表。在LTS界面的左侧导航栏,选择
。在LINDORM TSDB历史数据同步页面,单击创建任务,填写以下参数:
源集群:选择InfluxDB数据源。
目标集群:选择Lindorm TSDB数据源。
同步/迁移的表:配置待迁移的数据范围。格式如下:
{ "type": "shard", "source_database": "test.autogen", "sink_database": "test", "startTime": 1, "endTime": 0 }
参数
说明
source_database
配置为InfluxDB数据库中需要迁移的源数据库及数据保留策略。格式为
<数据库名>.<数据保留策略名>
,例如test.autogen
。说明若仅指定了数据库名,则系统将仅迁移保留策略为
autogen
的数据,即只填写数据库名时效果等同于填写<数据库名>.autogen
。sink_database
配置为已创建的Lindorm时序目标数据库。
startTime
配置待迁移数据的开始范围。格式为13位Unix时间戳,单位为毫秒(ms)。
endTime
配置待迁移数据的结束范围。默认值为
0
,表示迁移当前时间之前的数据。格式为13位Unix时间戳,单位为毫秒(ms)。type
无意义,可忽略。
查看迁移进度
在左侧导航栏,选择
。单击需要查看的任务名,查看对应任务的执行情况。