更新时间:2024-05-29 GMT+08:00
分享

元数据迁移

操作场景

用户可以参考该章节将外部的元数据迁移至LakeFormation并将数据存储在OBS中进行统一管理。

前提条件

  • 当前实例已创建存储迁移元数据的Catalog。
  • 且待操作用户具有OBS相关操作权限、具有已创建存储迁移元数据的Catalog的操作权限。
  • 已创建了用于存储迁移数据的OBS并行文件系统。
  • 表的Owner只能包含字母、数字和下划线(_),且长度为1~49个字符。不能包含中划线(-)等其他字符。
  • 如果需要迁移多个MRS集群中的元数据到同一个LakeFormation实例,MRS集群之间的Database名称不能重复。

操作步骤

  1. 登录管理控制台。
  2. 在左上角单击“”,选择“大数据 > 湖仓构建 LakeFormation”进入LakeFormation控制台。
  3. 在左侧下拉框中选择待操作的LakeFormation实例,在左侧导航栏选择“任务管理 > 元数据迁移”。
  4. 单击“创建迁移任务”,配置相关参数后,单击“提交”。

    表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规则

    • 如果迁移的数据来源中,元数据的存储路径前缀不为“obs://”,则需要单击“添加location规则”配置规则将前缀替换为“obs://”,并且确保存在对应的OBS存储路径。

      例如,当前元数据的存储路径为“file:/a/b”,则“路径”填写“file:/”,“替换成”填写“obs://”,并确保OBS并行文件系统中存在“obs://a/b”路径,则生成元数据时新的元数据存储路径为“obs://a/b”。

    • 可以同时创建多条规则,当规则发生冲突时,以排在界面最上方的规则为准。

    网络连接

    选择网络连接方案。

    推荐选择“EIP使用EIP方式连接网络。

    同时需要选择“安全组ID”,即数据源所在VPC的安全组ID,用于打通网络。

    事件通知策略

    (当前该功能为公测阶段)

    (可选)配置该选项后,发生特定事件(例如任务成功、任务失败等)后会发送通知(短信、邮件等)。

    • 事件通知开关:开启后表示启用事件通知。
    • 事件通知主题:选择需要通知的主题,可以在管理控制台选择“消息通知服务 SMN”进行配置。
    • 事件:需要通知的主题状态,可选择“任务成功”、“任务失败”。

  5. 创建完成后,单击“操作”列的“运行”即可运行当前迁移任务。

    • 在运行迁移任务前,需要已对用户进行任务授权,详情请参考任务授权
    • 迁移任务开始运行后,源数据库如果有新增的元数据,则新增的元数据将不会被迁移,需要再次运行迁移任务。也可以使用元数据发现功能,迁移新增的元数据,具体请参考元数据发现
    • 如果任务运行失败,在修复故障后可再次单击“操作”列的“运行”进行重试。

    迁移任务完成后,可以在对应的元数据界面进行查看。例如进入“元数据 > 数据库”页面查看迁移完成的数据库。

    单击操作列的“编辑”或“删除”,可以修改或者删除当前任务。

  6. 单击“操作”列“查看日志”可以查看任务运行产生的日志。

    默认显示最近的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服务端与数据源连接不通。解决思路如下:

    1. 数据源的用户名/密码或AK/SK是否正常。
    2. JDBC URL中填写的数据库是否准确。
    3. JDBC URL中填写的IP是否准确。

      如果数据源类型为MRS本地元数据,DBServer可能发生主备倒换,需要重新绑定弹性IP到主节点。

    4. 数据库连接端口安全组是否放开。
      • 如果选择EIP连接方式,任务运行前,数据源的安全组规则需要把0.0.0.0/0全部放开。
      • 如果选择VPC对等连接方式,任务运行前,数据源的安全组规则需要把对等连接中对端访问IP放开。

    输入的vpc网段与lakeformtion网段冲突

    选择VPC对等连接时,数据源所在的VPC网段和LakeFormation服务端所在网段冲突。此时可以选择EIP方式进行迁移。

    无日志内容

    请确认日志路径是否存在。

    • 日志路径已存在,请联系LakeFormation运维人员协助处理。
    • 日志路径不存在,请修改任务配置中的日志路径,确保日志路径在OBS中存在。

分享:

    相关文档

    相关产品