数据搬迁最佳实践之使用CDM搬迁线下MySQL到DWS

举报
DGC搬砖1号 发表于 2022/06/25 15:23:50 2022/06/25
【摘要】 当前CDM支持将本地MySQL数据库,整库迁移到RDS上的MySQL、PostgreSQL或者Microsoft SQL Server任意一种数据库中。在客户线下数据搬迁到华为云中,常用场景之一即是客户线下MySQL的数据搬迁到线上华为云的DWS实例中。本文针对CDM的单表迁移场景,介绍如何进行线下MySQL到线上DWS单表的数据搬迁。

操作场景

   当前CDM支持将本地MySQL数据库,整库迁移到RDS上的MySQLPostgreSQL或者Microsoft SQL Server任意一种数据库中。在客户线下数据搬迁到华为云中,常用场景之一即是客户线下MySQL的数据搬迁到线上华为云的DWS实例中。本文针对CDM的单表迁移场景,介绍如何进行线下MySQL到线上DWS单表的数据搬迁。整体使用流程如下:

  1. 创建CDM集群并绑定EIP
  2. 创建MySQL连接
  3. 创建DWS连接
  4. 创建迁移作业

前提条件

  • 已获取DWS数据库的IP地址、端口、数据库名称、用户名、密码,且该用户拥有DWS数据库的读、写和删除权限。
  • 已获取连接MySQL数据库的IP地址、端口、数据库名称、用户名、密码,且该用户拥有MySQL数据库的读写权限。
  • 用户已参考管理驱动,上传了MySQL数据库驱动。

创建CDM集群并绑定EIP

  1. 如果是独立CDM服务,参考创建集群创建CDM集群;如果是作为DGC服务CDM组件使用,参考创建集群创建CDM集群。

      关键配置如下:

  •  CDM集群的规格,按待迁移的数据量选择,一般选择medium即可,满足大部分迁移场景。
  • CDM集群所在VPC、子网、安全组,选择与DWS集群所在的网络一致。

     2. CDM集群创建完成后,选择集群操作列的绑定弹性IP”CDM通过EIP访问MySQL

     图集群列表

   

     说明:如果用户对本地数据源的访问通道做了SSL加密,则CDM无法通过弹性IP连接数据源。

创建MySQL连接

  1. CDM集群管理界面,单击集群后的作业管理,选择连接管理新建连接,进入连接器类型的选择界面,如2所示。

     图选择连接器类型

     

     2. 选择“MySQL”后单击下一步,配置MySQL连接的参数。

     图创建MySQL连接

         

   单击显示高级属性可查看更多可选参数,具体请参见配置常见关系数据库连接。这里保持默认,必填参数如1所示。

1 MySQL连接参数

参数名

说明

取值样例

名称

输入便于记忆和区分的连接名称。

mysqllink

数据库服务器

MySQL数据库的IP地址或域名。

192.168.1.110

端口

MySQL数据库的端口。

3306

数据库名称

MySQL数据库的名称。

sqoop

用户名

拥有MySQL数据库的读、写和删除权限的用户。

admin

密码

用户的密码。

-

使用Agent

是否选择通过Agent从源端提取数据。

Agent

单击选择,选择连接Agent中已创建的Agent

-

     3. 单击保存回到连接管理界面。

说明:如果保存时出错,一般是由于MySQL数据库的安全设置问题,需要设置允许CDM集群的EIP访问MySQL数据库。

创建DWS连接

  1. CDM集群管理界面,单击集群后的作业管理,选择连接管理新建连接,进入连接器类型的选择界面,如4所示。

     图选择连接器类型

     

    2.连接器类型选择数据仓库服务(DWS后单击下一步配置DWS连接参数,必填参数如2所示,可选参数保持默认即可。

2 DWS连接参数

参数名

说明

取值样例

名称

输入便于记忆和区分的连接名称。

dwslink

数据库服务器

DWS数据库的IP地址或域名。

192.168.0.3

端口

DWS数据库的端口。

8000

数据库名称

DWS数据库的名称。

db_demo

用户名

拥有DWS数据库的读、写和删除权限的用户。

dbadmin

密码

用户的密码。

-

使用Agent

是否选择通过Agent从源端提取数据。

Agent

单击选择,选择连接Agent中已创建的Agent

-

导入模式

COPY模式:将源数据经过DWS管理节点后拷贝到数据节点。如果需要通过Internet访问DWS,只能使用COPY模式。

COPY

     3. 单击保存完成创建连接。

创建迁移作业

  1. 选择/文件迁移新建作业,开始创建从MySQL导出数据到DWS的任务。

     图创建MySQLDWS的迁移任务

   

  • 作业名称:用户自定义便于记忆、区分的任务名称。
  • 源端作业配置
    • 源连接名称:选择创建MySQL连接中的“mysqllink”
    • 使用SQL语句:否。
    • 模式或表空间:待抽取数据的模式或表空间名称。
    • 表名:要抽取的表名。
    • 其他可选参数一般情况下保持默认即可,详细说明请参见配置常见关系数据库源端参数
  • 目的端作业配置
    • 目的连接名称:选择创建DWS连接中的连接“dwslink”
    • 模式或表空间:选择待写入数据的DWS数据库。
    • 自动创表:只有当源端和目的端都为关系数据库时,才有该参数。
    • 表名:待写入数据的表名,可以手动输入一个不存在表名,CDM会在DWS中自动创建该表。
    • 是否压缩:DWS提供的压缩数据能力,如果选择,将进行高级别压缩,CDM提供了适用I/O读写量大,CPU富足(计算相对小)的压缩场景。更多压缩级别详细说明请参见压缩级别
    • 存储模式:可以根据具体应用场景,建表的时候选择行存储还是列存储表。一般情况下,如果表的字段比较多(大宽表),查询中涉及到的列不多的情况下,适合列存储。如果表的字段个数比较少,查询大部分字段,那么选择行存储比较好。
    • 扩大字符字段长度:当目的端和源端数据编码格式不一样时,自动建表的字符字段长度可能不够用,配置此选项后CDM自动建表时会将字符字段扩大3倍。
    • 导入前清空数据:任务启动前,是否清除目的表中数据,用户可根据实际需要选择。
  1. 单击下一步进入字段映射界面,CDM会自动匹配源和目的字段,如6所示。
    • 如果字段映射顺序不匹配,可通过拖拽字段调整。
    • 单击,可批量映射字段。
    • CDM的表达式已经预置常用字符串、日期、数值等类型的字段内容转换,详细请参见字段转换

     图表到表的字段映射

       

      2. 单击下一步配置任务参数,一般情况下全部保持默认即可。

该步骤用户可以配置如下可选功能:

  • 作业失败重试:如果作业执行失败,可选择是否自动重试,这里保持默认值不重试
  • 作业分组:选择作业所属的分组,默认分组为“DEFAULT”。在CDM“作业管理界面,支持作业分组显示、按组批量启动作业、按分组导出作业等操作。
  • 是否定时执行:如果需要配置作业定时自动执行,请参见配置定时任务。这里保持默认值
  • 抽取并发数:设置同时执行的抽取任务数。可适当调大参数,提升迁移效率。
  • 是否写入脏数据:表到表的迁移容易出现脏数据,建议配置脏数据归档。
  • 作业运行完是否删除:这里保持默认值不删除
  1. 单击保存并运行,回到作业管理界面,在作业管理界面可查看作业执行进度和结果。
  2. 作业执行成功后,单击作业操作列的历史记录,可查看该作业的历史执行记录、读取和写入的统计数据。

      在历史记录界面单击日志,可查看作业的日志信息。

 

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。