使用CDM服务迁移HBase数据至MRS集群
应用场景
本章节适用于将线下IDC机房或者公有云HBase集群中的数据(支持数据量在几十TB级别或以下的数据量级)迁移到华为云MRS服务。
本章节以通过华为云CDM服务 2.9.1.200版本进行数据迁移为例介绍。不同版本操作可能有差异,具体操作详情以实际版本对应的操作指导为准。
CDM服务支持迁移的数据源可参考支持的数据源,数据源为Apache HBase时,建议使用的版本为2.1.X、1.3.X,请执行搬迁前务必确认是否支持搬迁。
方案架构
HBase会把数据存储在HDFS上,主要包括HFile文件和WAL文件,由配置项“hbase.rootdir”指定在HDFS上的路径,华为云MRS集群的默认存储位置是“/hbase”文件夹下。
HBase自带的一些机制和工具命令也可以实现数据搬迁,例如通过导出Snapshots快照、Export/Import、CopyTable方式等,可以参考Apache官网相关内容。
方案优势
场景化迁移通过迁移快照数据然后再恢复表数据的方法,能大大提升迁移效率。
约束与限制
搬迁数据量较大时,对网络通信要求较高,执行搬迁任务时,可能会影响其他业务,建议在业务空闲期进行数据迁移任务。
全量数据迁移
- 登录CDM管理控制台。
- 创建CDM集群,该CDM集群的安全组、虚拟私有云、子网需要和迁移目的端集群保持一致,保证CDM集群和待迁移的MRS集群之间网络互通。
- 在“集群管理”页面单击待操作集群对应“操作”列的“作业管理”。
- 在“连接管理”页签,单击“新建连接”。
- 参考CDM服务的新建连接页面,添加到迁移源端集群的连接,连接器类型根据实际集群来选择,例如连接器类型选择“Apache HBase”。
(可选)HBase迁移建议使用高权限用户,单击“显示高级属性”,新增迁移所需用户“hadoop.user.name = 用户名(如omm用户)”。
图2 到迁移源端集群的连接
- 在“连接管理”页签,单击“新建连接”。
- 参考CDM服务的新建连接页面,添加到迁移目的端集群的连接,连接器类型根据实际集群来选择,例如连接器类型选择“MRS HBase”。
(可选)HBase迁移建议使用高权限用户,单击“显示高级属性”,新增迁移所需用户“hadoop.user.name = 用户名(如omm用户)”。
图3 到迁移目的端集群的连接
- 选择“作业管理”的“表/文件迁移”页签,单击“新建作业”。
- 进入作业参数配置界面,配置作业名称、源端作业和目的端作业参数,并选择要迁移的数据表,单击“下一步”。
图4 HBase作业配置
- 配置源字段和目的字段的映射关系, 并单击“下一步”。
- 进入任务配置页面,不做修改,直接单击“保存”。
- 选择“作业管理”的“表/文件迁移”页签,在待运行作业的“操作”列单击“运行”,即可开始HBase数据迁移。
- 迁移完成后,可以在目的端集群和源端集群的HBase Shell命令行中,通过同样的查询语句,对比查询结果进行验证。
例如:
增量数据迁移
在业务割接前,如果源端集群上有新增数据,需要定期将新增数据搬迁到目的端集群。一般每天更新的数据量在GB级别可以使用CDM的“整库迁移”指定时间段的方式进行HBase新增数据迁移。
当前使用CDM的“整库迁移”功能时的限制:如果源HBase集群中被删除操作的数据无法同步到目的端集群上。
场景迁移的HBase连接器不能与“整库迁移”共用,因此需要单独配置“HBase”连接器。
- 参考全量数据迁移的1~7步骤新增两个“HBase”连接器,连接器类型根据实际集群来选择。
例如选择连接器类型时分别为源端集群和目的端集群选择“MRS HBase”和“Apache HBase”。图6 HBase增量迁移连接
- 选择“作业管理”的“整库迁移”页签,单击“新建作业”。
- 进入作业参数配置界面,作业相关信息配置完成后单击“下一步”。
- 作业名称:用户自定义作业名称,例如hbase-increase。
- 源端作业配置:源连接名称请选择新创建的到源端集群的连接名称,并展开高级属性配置迁移数据的时间段。
- 目的端作业配置:目的连接名称请选择新创建的到目的端集群的连接名称,其他不填写。
图7 HBase增量迁移作业配置
- 选择要迁移的数据表, 单击“下一步”,单击“保存”。
- 选择“作业管理”的“整库迁移”页签,在待运行作业的“操作”列单击“运行”,即可开始HBase数据增量迁移。