1. 概述
1.1 版本
FineDataLink 版本 | 功能变更 |
---|---|
4.0.1.1 | 「管理系统>智能运维>资源迁移」的资源导出 Tab 下,新增 ETL 任务的导出;资源导入 Tab 下,可导入 ETL 任务 |
4.0.21 | 独立部署的 FineDataLink ,支持非超级管理员进行定时任务资源迁移 |
4.1.5.3 |
|
1.2 应用场景
使用 FineDataLink 时,一般先在测试环境系统上进行开发部署,确认无误后再迁移到正式系统中。
用户希望能够批量迁移在测试环境制作的的定时任务或快速复用官方定时任务。
1.3 功能简介
FineDataLink 提供资源迁移功能,支持将数据连接、服务器数据集、定时任务资源从测试系统增量迁移到正式系统。
管理员登录 FineDataLink ,点击「管理系统>智能运维>资源迁移」,分为「资源导出」、「资源导入」两部分,如下图所示:
资源导出:将需要迁移到其他系统的资源从服务器中导出,以供后续迁移。
资源导入:将需要迁移的资源在新系统中导入,即迁移至新系统。
2. 使用须知
1)资源迁移功能仅支持超级管理员,次级管理员。
2)次管在进行「资源导出」时不支持「同时导出权限配置」。
3)正式工程需购买「智能运维」功能点才可使用「资源迁移」功能。
4)请确保在资源迁移过程中,没有其他人使用超级管理员账号,否则部分执行请求可能被取消。
5)不建议在个人 PC 端工程开发定时任务后,再以资源迁移的形式同步到公司工程。
因为个人 PC 端没有管理员维护,经常会因为 JAR 包不同步或资源以及配置不同步的问题导致资源迁移失败,运维成本会很高。
6)4.1.5.3 之前版本不支持导出 调度计划;4.1.5.3 及之后版本支持导出 调度计划
7)迁移数据连接时,不支持迁移数据连接文件夹,只能迁移数据连接。
8)单次资源导入内容不可超出2GB,否则在导入资源时会报错:out of memoryerror。请少量多次分配导出和导入资源。
. 准备工作
3.1 权限限制
非超级管理员用户想要使用资源迁移,需要为其分配「资源迁移」的使用权限,如下图所示:
注:必须开启资源迁移父节点「智能运维」节点权限。
将「数据平台」中数据开发的使用权限分配给用户,如下图所示:
同时需要将定时任务的管理权限分配给用户,该用户才能有指定定时任务的资源迁移权限,如下图所示:
3.2 确认版本
资源迁移之前,请确保资源导入和导出的 FineDataLink 工程使用的版本一致(包括 JAR 包时间)。
管理员可在「管理系统>注册管理>版本信息」下查看 JAR 包时间,如下图所示:
若版本不一致,可通过升级来确保版本一致。
注:在资源导入时,若上传资源对应的工程和当前工程版本不一致,则无法上传。
提示:无法导入,即将导入的资源需要的工程版本:XXX。当前工程版本:XXX。请确保工程版本一致!
3.3 系统备份
资源导入前建议对测试系统和正式系统均进行 系统备份,如下图所示:
注:备份迁移到的 MySQL 数据库需要选择 utf8_bin 的排序规则。
3.4 确认数据库大小写
若系统配置了 外接数据库 ,在资源迁移前,请确保正式系统和测试系统的「数据库默认字符校验规则」都为「大小写敏感」。
以 Mysql 为例:
3.4.1 进行设置
设置方式:若配置了外接数据库,连接 FineDB 数据库,打开 FINE_CONF_ENTITY 表,设置字符校验规则为 utf8_bin,输入命令如下:
3.4.2 查看设置结果
如下图所示:
3.5 确认插件和驱动
1)若数据连接需依赖第三方插件,目前只支持 JSON 数据集和 Mysql8 数据连接,其他插件类型不适配,会导入失败。
2)数据连接迁移只迁移配置。驱动 jar 包、kerberos 认证文件、JNDI 配置文件等都不会迁移,需要手动配置/放置。
请在进行数据连接迁移前,确认正式工程下是否提前安装依赖的相关数据连接插件,否则将导致导入失败。
请在进行数据连接迁移前,确认正式工程下是否提前安装依赖的相关数据连接驱动,否则将导致导入的数据连接不可使用。
3.6 确认数据连接
若需要进行数据连接迁移,需要在资源迁移导入前,保证正式系统已创建好了数据连接,且该数据连接名需与测试系统一致,否则资源无法迁移成功。
服务器数据集若依赖相关数据连接,请确认将相关数据连接导入正式工程,否则导入的服务器数据集无法使用。
4. 测试系统下资源导出
4.1 选择资源
管理员登录 FineDataLink 后,进入「管理系统>智能运维>资源迁移」,选择「资源导出」。
选择需要导出的资源类型,选择每种类型下需要导出的具体内容,支持多选。如下图所示:
注:导出定时任务时,可选择将该任务使用到的数据连接一起导出,则在正式系统导入资源包后,可直接复用定时任务。
可导出的资源如下:
工程 | 资源类型 | 说明 |
---|---|---|
FDL 独立部署工程 | 数据连接 | 可选取 FineDataLink 中的数据连接 导出数据连接时的资源包括:数据连接的所有配置(基础配置、高级配置) 注:数据连接的密码加密导出,keytab 密钥路径不支持导出、迁移后需要手动输入。 |
服务器数据集 | 请参见:测试系统下资源导出 | |
定时任务 | 可选取 FineDataLink 中的定时任务 |
4.2 选择同时导出的资源
1)FDL 独立部署工程中,在导出时若勾选「同时导出权限配置」,即可同时导出资源的权限配置,权限配置类型包括:使用、管理权限。如下图所示:
同时导出权限配置说明如下:
资源类型 | 说明 |
---|---|
数据连接 | 如不勾选,数据连接导入到「正式系统」中时,会继承正式系统中的权限。 如勾选该选项,数据连接导出导入时,会将「测试系统」中的权限实体同时导出导入 |
服务器数据集 | 迁移资源类型为「服务器数据集」时,该选项不生效 |
定时任务 | 迁移资源类型为「定时任务」时,该选项不生效 |
2)4.1.5.3 及之后版本,支持导入导出 调度计划 。如下图所示:
事件调度依赖的任务在新工程中根据任务 id 匹配,若没有跟随导入,允许资源导入,导入后提示用户缺少依赖任务。
导入后提示列表为「定时任务」和「调度计划」两个独立检测项。如下图所示:
定时任务的检测项不包括调度计划中任务的缺失。
若定时任务中使用了「调用任务」节点,支持只导入父任务。
若事件调度和定时调度计划名冲突,或者单个任务调度和批量调度计划名冲突,则调度计划名后递增加1。
定时任务设置了批量事件调度或批量定时调度,若即将导入的调度计划名和已有工程的调度计划名冲突:
场景 | 说明 |
---|---|
例如: A工程:调度计划A:任务1,任务2; B工程:调度计划A:任务1,任务3,任务4 A工程中任务1导入B工程,勾选「导出调度计划」按钮 | 示例结果:B工程中:调度计划A:任务1,任务3,任务4 1)新旧工程的调度计划任务列表取并集,去除没有同名匹配上的任务(例如任务2,没有导入任务2则B工程中没有任务2);调度配置覆盖 2)事件调度导入时若存在一个任务对应多个事件调度的情况,则直接报错:任务不支持导入 |
4.3 导出的文件
导出后会生成 resources.zip 文件。
5. 正式系统下资源导入
5.1 上传文件
超级管理员登录 FineDataLink ,选择「管理系统>智能运维>资源迁移>资源导入」,如下图所示:
注1:单次只允许上传单个压缩文件。
注2:单次资源导入内容不可超出2GB,否则在导入资源时会报错:out of memoryerror。请少量多次分配导出和导入资源。
系统会获取导入文件所包含的资源,包含类型、平台路径、物理资源、权限信息及导入方式。
设置 | 说明 |
---|---|
类型 | 类型包括:数据连接、服务器数据集、定时任务 |
平台路径 | 资源类型为「数据连接」时,路径为「导出系统」的数据连接名称 资源类型为「服务器数据集」时,路径为「导出系统」的服务器数据集的名称 资源类型为「定时任务」时,路径为「导出系统」的定时任务在平台中的路径 |
物理资源 | - |
权限信息 | 点击「详情」可查看权限信息 其中会提示「目标系统」是否有部门/角色/用户在被导入系统中的缺失情况 注:权限缺失不影响定时任务的导入,如有缺失,导入时自动忽略权限配置 |
导入方式 | 在导入时,系统会对导入资源进行检测,检测是否与系统现有资源有冲突。 冲突检验以资源的原始名与其在平台中的路径名为准。 导入方式分为直接导入和覆盖导入
其中,定时任务的覆盖导入如下:
|
冲突检测 | 平台路径:路径冲突 |
5.2 导入文件
勾选需要上传的资源,点击「导入」。如下图所示:
若导入失败,显示失败的原因(如:导入不支持的插件类型数据连接或者导入工程没有安装插件);若导入成功,则资源即时生效。如下图所示:
注:若导入的资源中包含多个定时任务,导入完成后,显示 0 项导入成功, 0 项导入失败,可尝试分批导入。
点击「数据开发」,可看到导入成功的定时任务,如下图所示:
6. 特殊场景说明
场景 | 说明 |
---|---|
同工程有多人同时导出资源 | 一个工程,同时只能有一个导出任务进行,如果不同的用户同时导出或者重复导出,后面运行的直接报错提醒 |