采用CDM进行HDFS到OBS的数据迁移
1 背景介绍
传统的Hadoop和Spark大数据生态,主要是以本地硬盘或云硬盘承载HDFS文件系统进行数据存储,但是存在成本高,扩容难等问题。
当前华为云对象存储服务OBS可以与Hadoop和Spark大数据生态进行对接,为用户提供计算存储分离的大数据解决方案。为了实现用户数据平滑上云,可以采用华为云CDM服务进行HDFS到OBS的数据迁移。
2 迁移背景和目标
已存在集群一采用EVS存储HDFS格式数据,新建集群二采用OBS存储数据,需要将数据从集群一的HDFS迁移至集群二的OBS。
3 迁移方法
1、已搭建集群一(北京一)和集群二(华东),集群一采用EVS存储数据,集群二采用OBS存储数据
2、在集群一构造Spark或者Hive的数据,例如,构造Hive表数据如下
(1)创建DATABASE
CREATE DATABASE top_ods;
(2)创建TABLE
CREATE TABLE `top_ods.claim_6yue_pt`(
`user_id` varchar(300),
`ese_id` int,
`task_id` varchar(100))
partitioned by (tagdate int)
ROW FORMAT DELIMITED FIELDS TERMINATED BY "|"
STORED AS parquetfile
TBLPROPERTIES ("orc.compression"="Snappy");
insert into table top_ods.claim_6yue_pt partition(tagdate=1) values( '10' ,10,'10');
insert into table top_ods.claim_6yue_pt partition(tagdate=1) values( '11' ,11,'11');
insert into table top_ods.claim_6yue_pt partition(tagdate=1) values( '12' ,12,'12');
insert into table top_ods.claim_6yue_pt partition(tagdate=1) values( '13' ,13,'13');
insert into table top_ods.claim_6yue_pt partition(tagdate=1) values( '14' ,14,'14');
insert into table top_ods.claim_6yue_pt partition(tagdate=1) values( '15' ,15,'15');
insert into table top_ods.claim_6yue_pt partition(tagdate=2) values( '20' ,20,'20');
insert into table top_ods.claim_6yue_pt partition(tagdate=2) values( '21' ,21,'21');
insert into table top_ods.claim_6yue_pt partition(tagdate=2) values( '22' ,22,'22');
insert into table top_ods.claim_6yue_pt partition(tagdate=2) values( '23' ,23,'23');
insert into table top_ods.claim_6yue_pt partition(tagdate=2) values( '24' ,24,'24');
insert into table top_ods.claim_6yue_pt partition(tagdate=2) values( '25' ,25,'25');
select * from top_ods.claim_6yue_pt;
3、在集群二创建Spark或者Hive的新表,新表格式与源表的存储格式等属性要一致
(1)创建DATABASE
CREATE DATABASE top_odstest location 'obs://obs-bigdata-hd-003/user/hive/warehouse/top_ods.db';
(2)创建TABLE,新表格式与源表的存储格式等属性要一致
CREATE TABLE `top_odstest.claim_6yue_pt`(
`user_id` varchar(300),
`ese_id` int,
`task_id` varchar(100))
partitioned by (tagdate int)
ROW FORMAT DELIMITED FIELDS TERMINATED BY "|"
STORED AS parquetfile
TBLPROPERTIES ("orc.compression"="Snappy");
4、创建CDM任务,将集群一的HDFS数据迁移至集群二的OBS
(1)创建CDM集群(华东),跨Region需要绑定公网弹性IP
(2)配置连接管理,一个连接使用Apache HDFS,另一个连接使用对象存储服务(OBS)
备注:集群一的所有节点需配置公网弹性IP,并且Apache HDFS连接中的IP与主机名映射要填写所有集群一的主机
XX.XX.XX.XX ecs-bigdata-hdtest-0000.novalocal
XX.XX.XX.XX ecs-bigdata-hdtest-0001.novalocal
XX.XX.XX.XX ecs-bigdata-hdtest-0002.novalocal
XX.XX.XX.XX ecs-bigdata-hdtest-0003.novalocal
(3)配置作业管理,源连接使用HDFS连接,目标连接使用OBS连接,文件格式使用二进制格式
(4)配置完成后,运行作业进行数据迁移
5、迁移完成后,在集群二恢复Hive表数据,即可查询数据成功。
恢复Hive表数据:MSCK REPAIR TABLE top_odstest.claim_6yue_pt;
查询Hive表数据:select * from top_odstest.claim_6yue_pt;
- 点赞
- 收藏
- 关注作者
评论(0)