元数据迁移
操作场景
用户可以参考该章节将外部的元数据迁移至LakeFormation并将数据存储在OBS中进行统一管理。
前提条件
- 当前实例已创建存储迁移元数据的Catalog。
- 且待操作用户具有OBS相关操作权限、具有已创建存储迁移元数据的Catalog的操作权限。
- 已创建了用于存储迁移数据的OBS并行文件系统。
- 表的Owner只能包含字母、数字和下划线(_),且长度为1~49个字符。不能包含中划线(-)等其他字符。
- 如果需要迁移多个MRS集群中的元数据到同一个LakeFormation实例,MRS集群之间的Database名称不能重复。
操作步骤
- 登录管理控制台。
- 在左上角单击“”,选择“大数据 > 湖仓构建 LakeFormation”进入LakeFormation控制台。
- 在左侧下拉框中选择待操作的LakeFormation实例,在左侧导航栏选择“任务管理 > 元数据迁移”。
- 单击“创建迁移任务”,配置相关参数后,单击“提交”。
表1 创建元数据迁移任务 参数
参数说明
任务名称
填写待创建元数据迁移任务名称。
描述
所创建迁移任务的描述信息。
数据源类型
选择待迁移数据的数据源类型。
- DLF:第三方数据湖构建(Data Lake Formation,DLF)
- MRS云数据库RDS(for MySQL)
- 开源HiveMetastore(for MySQL)
- MRS云数据库RDS(for PostgreSQL)
- MRS本地数据库
JDBC URL
待迁移元数据JDBC链接的URL。“数据源类型”不为“DLF”时配置该参数。
说明:例如:
- MySQL数据源类型JDBC URL为:jdbc:mysql://IP地址:端口/数据库名称?useSSL=false&permitMysqlScheme
- PostgreSQL数据源类型JDBC URL为:jdbc:postgresql://IP地址:端口/数据库名称?socketTimeout=600
socketTimeout为迁移客户端和数据库连接的socket超时时长。
- 迁移除MRS本地数据库以外的数据源类型时,URL中的IP为数据源绑定的弹性公网IP。
此外还需配置以下参数:
服务接入点
配置待迁移元数据服务接入点。
“数据源类型”为“DLF”时配置该参数。此外还需配置以下参数:
- Access Key:联系DLF服务运维人员获取AK信息。
- Secret Key:联系DLF服务运维人员获取SK信息。
源Catalog
待迁移元数据所属Catalog名称。
迁移至Catalog
元数据迁移至LakeFormation中Catalog的名称。
冲突解决策略
迁移过程中发生冲突的解决策略。
当前仅支持“更新旧的元数据”。
默认缺省Owner
迁移后元数据的默认Owner。“数据源类型”为“DLF”时配置该参数。
- 如果配置的默认Owner没有对应的元数据操作权限,迁移后的元数据将无法进行增删改查等操作,此时可以手动给Owner授权或者进行权限迁移。
- 如果迁移前所有元数据都能正常使用,则不需要配置该参数。
日志存储位置
运行迁移任务时,产生的日志存储位置。可单击进行选择。
该路径必须已在OBS中存在,如果为自定义路径将会导致迁移任务失败。
是否强制建表
勾选此项将会跳过建立内表时对OBS路径的限制。
迁移元数据对象
勾选待迁移的元数据对象。
- 全选:迁移数据库、函数、数据表、分区
- Database:数据库
- Function:函数
- Table:数据表
- Partition:分区
说明:
- 如果为首次迁移,建议选择“全部”,迁移全部元数据。
- 如果仅勾选函数、数据表、分区的一种或几种时,需确保勾选元数据的上层目录存在。例如,只勾选了Table,则需要确保迁移目标Catalog中已包含该Table所在的数据库(例如DB_1)。否则会导致Table迁移成功的数量将为零个。
- 如果勾选函数,需要确认函数类名存在,否则会导致函数迁移失败。
添加location规则
网络连接
选择网络连接方案。
推荐选择“EIP”,使用EIP方式连接网络。
同时需要选择“安全组ID”,即数据源所在VPC的安全组ID,用于打通网络。
事件通知策略
(当前该功能为公测阶段)
(可选)配置该选项后,发生特定事件(例如任务成功、任务失败等)后会发送通知(短信、邮件等)。
- 事件通知开关:开启后表示启用事件通知。
- 事件通知主题:选择需要通知的主题,可以在管理控制台选择“消息通知服务 SMN”进行配置。
- 事件:需要通知的主题状态,可选择“任务成功”、“任务失败”。
- 创建完成后,单击“操作”列的“运行”即可运行当前迁移任务。
迁移任务完成后,可以在对应的元数据界面进行查看。例如进入“元数据 > 数据库”页面查看迁移完成的数据库。
单击操作列的“编辑”或“删除”,可以修改或者删除当前任务。
- 单击“操作”列“查看日志”可以查看任务运行产生的日志。
默认显示最近的50行日志。
可单击日志最下方超链接查看完整日志,具体配置请参考《对象存储服务3.0(OBS) 3.24.3h&s 使用指南(for 华为云Stack 8.3.1)》中《对象存储服务3.0(OBS) 3.24.3h&s 用户指南 (for 华为云Stack 8.3.1)》的“下载对象”章节。
日志中常见报错信息及对应原因如下:
日志报错信息
报错原因
field 'storageDescriptor.location' must match '^(obs|har)://.+/.+$'
请配置正确的location规则,确保元数据路径以“obs://”开头。
Invalid input parameter
元数据的入参非法,或者LakeFormation暂时不支持此类元数据。
Incorrect type of column xxx.
列类型非法,或者LakeFormation不兼容此列类型。
No permission to perform this operation on resources.
请检查默认缺省Owner是否配置正确,以及是否有元数据操作权限。
Error creating transactional connection factory
LakeFormation服务端与数据源连接不通。解决思路如下:
输入的vpc网段与lakeformtion网段冲突
选择VPC对等连接时,数据源所在的VPC网段和LakeFormation服务端所在网段冲突。此时可以选择EIP方式进行迁移。
无日志内容
请确认日志路径是否存在。
- 日志路径已存在,请联系LakeFormation运维人员协助处理。
- 日志路径不存在,请修改任务配置中的日志路径,确保日志路径在OBS中存在。