《CDP企业数据云平台从入门到实践》——HDFS 迁移到 CDP(5) https://developer.aliyun.com/article/1227805?groupCode=ClouderaCDP
四、 HDFS 迁移步骤
1. 使用 DistCP 进行 HDFS 迁移
Distcp snapshot 拷贝方式的主要步骤如下:
Step1.假定将源集群的 HDFS 目录/data/a 拷贝到目标集群的 HDFS 目录
/data/a_target。
[root~]#hdfsdfs-ls/data/aFound1items-rw-r--r--2etl_usersupergroup614402021-01-0408:12/data/a/cnav.tar
注意:请不要预先在目标集群创建 a_target 目录,因为 distcp 会自动创建。
Step2.允许源目录创建快照。
[root~]#hdfsdfsadmin-allowSnapshot/data/aAllowingsnaphoton/data/asucceeded
Step3.源目录建立快照 snapshot1。
[root~]#hdfsdfs-createSnapshot/data/asnapshot1Createdsnapshot/data/a/.snapshot/snapshot1
step4.基于 snapshot1 进行初始的全量拷贝。
[root~]#hadoopdistcp-Dmapreduce.job.hdfsservers.token-renewal.exclude=source_cluster.tiger2.root.hwx.sitehdfs://source_cluster.tiger2.root.hwx.site/data/a/.snapshot/snapshot1hdfs://target_cluster.feng.root.hwx.site/data/a_target
在目标集群上,/data/a_target 已经自动生成,并且包含了数据。
[root~]#hdfsdfs-ls/data/a_targetFound1items-rw-r--r--3etl_useradministrator614402021-01-0400:46/data/a_target/cnav.tar
Step5.允许目标目录创建快照
[root~]#hdfsdfsadmin-allowSnapshot/data/a_targetAllowingsnapshoton/data/a_targetsucceeded
此时,/data/a_target 应该被视为“只读”。请勿对该目录内容进行任何更改。
Step6.在/data/a_target 中创建与用于源目录快照名称相同的快照snapshot1。
[root~]#hdfsdfs-createSnapshot/data/a_targetsnapshot1Createdsnapshot/data/a_target/.snapshot/snapshot1
Step7.对源目录/data/a 中的内容进行增删改操作,然后创建新的快照 snapshot2。
[root~]#hdfsdfs-putnav2atlas.tar/data/a[root~]#hdfsdfs-ls/data/aFound2items-rw-r--r--2etl_usersupergroup614402021-01-0408:12/data/a/cnav.tar-rw-r--r--2etl_usersupergroup140185602021-01-0408:50/data/a/nav2atlas.tar[root~]#hdfsdfs-createSnapshot/data/asnapshot2Createdsnapshot/data/a/.snapshot/snapshot2[root~]#hdfssnapshotDiff/data/asnapshot1snapshot2Differencebetweensnapshotsnapshot1andsnapshotsnapshot2underdirectory/data/a: M . + ./nav2atlas.tartarget/nav2atlas.tar
Step8.基于 snapshot2 进行增量拷贝。
[root~]#hadoopdistcp-Dmapreduce.job.hdfsservers.token-renewal.exclude=source_cluster.tiger2.root.hwx.site-diffsnapshot1snapshot2-updatehdfs://source_cluster.tiger2.root.hwx.site/data/a hdfs://target_cluster.feng.root.hwx.site/data/a_target
在目标集群上,/data/a_target 新增了数据。
[root~]#hdfsdfs-ls/data/a_targetFound2items-rw-r--r--3etl_useradministrator614402021-01-0400:46/data/a_target/cnav.tar-rw-r--r--2etl_useradministrator140185602021-01-0401:43/data/a_
Step9.一旦拷贝完成,需要继续为目标目录创建与源目录同名的快照 snapshot2。
[root~]#hdfsdfs-createSnapshot/data/a_targetsnapshot2Createdsnapshot/data/a_target/.snapshot/snapshot2
2. 使用 Replication Manager 进行 HDFS 迁移。
Replication Manager 的主要步骤如下:
1) 选择需要备份的数据
2) 针对不同的数据采用不同的复制策略,定制 HDFS 复制作业。详细步骤参见第3.11.6 节。
• 有些数据只需要备份一次,则启动一次性备份任务
• 对于每天都需要更新的数据,启动每天按时备份
• 数据量较大的文件,需要给予更多的带宽,以及 map 数
• 是否需要使用特定的用户来复制特定数据
• 是否需要使用资源池。
通过 CM 界面执行 HDFS 复制作业,查看运行日志.