分享

使用snapshot实现hdfs文件备份和恢复实战

问题导读

1.如何允许创建快照?
2.如何创建快照?
3.查看快照使用什么命令?
4.哪个命令可以实现恢复快照?





通过snapshot实现 hdfs上文件的备份
==========================================================================================

1、允许创建快照
首先,在你想要进行备份的文件夹下面 执行命令,允许该文件夹创建快照
hdfs dfsadmin -allowSnapshot <path>
例如:hdfs dfsadmin -allowSnapshot /Workspace/linlin

1.png
出现此命令证明已经允许创建快照成功
=================================================================
2、创建快照
接下来就开始对此文件夹进行备份
hdfs dfs -createSnapshot <path> [name]
例如 hdfs dfs -createSnapshot /Workspace/linlin bak1

2.png

此命令出现证明已经创建快照成功

此时我们可以考虑一下是否能够在linlin子目录创建快照
hdfs'上目录结构如图所示

3.png

然后尝试在snaptest上建立快照
hdfs dfs -createSnapshot /Workspace/linlin/snaptest bak2

4.png

报错,可见,只能在你允许的目录下面建立快照;

第一次快照  bak1 时候 没有snaptest文件夹,现在多了snaptest文件夹,再创建一次快照
若还是用
hdfs dfs -createSnapshot /Workspace/linlin  bak1

5.png

有错误提示,快照名字已经存在
执行  hdfs dfs -createSnapshot /Workspace/linlin  bak2

6.png

创建成功;
======================================
3、查看快照
查看所有的snapshottable
   hdfs lsSnapshottableDir
查看到曾经允许创建快照的所有目录查看当前快照下的文件  hadoop sanpshot 创建快照时候,默认的文件夹是.snapshot 查看时候必须加上.snapshot才能看到里面备份的东西;.snapshot是后来hadoop才有的产物,所以之前若是有文件夹命名为snapshot关键字就不能创建快照了;执行命令 hdfs dfs -ls /Workspace/linlin/.snapshot/
7.png

能够看到 这个快照下 有三个备份 分别是 bak1 、bak2 、 linlin
===========================================================================================================
4、对比快照
进行快照之间的对比,看到两个快照之间备份文件的区别
执行命令  
hdfs snapshotDiff <path> <fromSnapshot> <toSnapshot>例如: 执行命令 hdfs snapshotDiff  /Workspace/linlin bak1 bak2
  
8.png

结果 Results:
+The file/directory has been created.
-The file/directory has been deleted.
MThe file/directory has been modified.
RThe file/directory has been renamed.

这里出现M 代表我对linlin文件夹进行了修改,+代表新增了一个文件夹 snaptest
============================================================================================================================
5、恢复快照恢复快照:
hdfs dfs -cp <path> <path>
例如: hdfs dfs -cp /Workspace/linlin/.snapshot/bak2/snaptest  /Workspace

9.png


查看hdfs目录:


10.png


已经成功恢复到 Workspace

======================================================

题外话:我们可以尝试着删除建立过快照的文件夹:是无法删除的,会提示

11.png


存在快照无法删,证明若是在文件夹下面建立快照,文件夹就无法删除或者移动








欢迎大家如about云官方群371358502,更新咨询,更新资源,随时关注

已有(1)人评论

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条