需求:根据风险控制要求,建立针对数据湖的备份恢复机制,执行恢复测试演练

因上层mysql其实已经存储元数据,数据湖数据基本不会存在丢失风险,不过为了以防万一。还是测试了下,使用了2种方法。

因生产,所以加了各种马赛克!

方法1:使用hdfs方式进行备份恢复(不推荐使用)

​第一步:随机备份一个数据湖里面的表(dwd_*)​

对象存储服务OBS备份及恢复,迁移_obs

第二步:查询原始数据大小

对象存储服务OBS备份及恢复,迁移_hdfs_02

第三步:备份

hdfs dfs -mkdir -p /bak
hdfs dfs -cp -f obs://路径/dwd /bak

[omm@ t3mgr]$ hdfs dfs -du -s -h /bak
19.5 M 58.5 M /bak

对象存储服务OBS备份及恢复,迁移_备份恢复_03

第四步:验证

对象存储服务OBS备份及恢复,迁移_备份恢复_04

第五步:恢复

hdfs dfs -cp  -f /bak 
obs://路径/dwd

方法2:使用工具obsutil

obsutil快速使用流程

对象存储服务OBS备份及恢复,迁移_obs_05

​​第一步:下载

​https://support.huaweicloud.com/utiltg-obs/obs_11_0003.html​

第二步:申请备用桶用来存储备份数据(用的华为云)

对象存储服务OBS备份及恢复,迁移_obs_06

第三步:使用ak,sk配置

./obsutil config -i=ak -k=sk -e=endpoint

对象存储服务OBS备份及恢复,迁移_hdfs_07

第四步:随机备份一个表(先查看)

obsutil ls obs://路径/dw

对象存储服务OBS备份及恢复,迁移_obs_08

第五步:查询状态

obsutil stat obs://路径/dw

对象存储服务OBS备份及恢复,迁移_数据_09

第六步:拷贝到本地

obsutil cp obs://路径/表 ./ -f -r

对象存储服务OBS备份及恢复,迁移_备份恢复_10

第六步:复制到另一个桶里面

obsutil cp obs://bucket-test/temp/ obs://bucket-test2 -r -f

对象存储服务OBS备份及恢复,迁移_obs_11

第七步:检查桶数据是否一致

对象存储服务OBS备份及恢复,迁移_数据_12