【简介】
HDFS快照简单地说就是对某个文件夹进行备份,创建了快照的文件夹本身不能被删除,但是文件夹里面的文件和文件夹都是可以被删除的。在对一个文件夹创建快照之前,需先允许该文件夹可以创建快照
允许快照
hdfs dfsadmin -allowSnapshot <path>
创建快照
hdfs dfs -createSnapshot <path> [<snapshotName>]
其中snapshotName是快照名,可选参数,不填的话会自动生成一个快照名,命名规则类似:s20180118-174044.492,创建快照后,会在文件夹下看到.snapshot目录,该目录存放所有的快照
查看所有的snapshottable
hdfs lsSnapshottableDir
恢复快照
hdfs dfs -cp <snapshotpath> <path>
删除快照
hdfs dfs -deleteSnapshot <path> <snapshotName>
取消快照
hdfs dfsadmin -disallowSnapshot <path>
取消快照之前,需先删掉所有的快照
快照对比
hdfs snapshotDiff <path> <fromSnapshot> <toSnapshot>
HDFS中可以对目录创建Snapshot,创建之后不管后续目录发生什么变化,都可以通过snapshot找回原来的文件和目录结构。
为了启用这种功能,首先需要启用目标目录的snapshot功能,可以通过下面的命令来执行:
hdfs dfsadmin -allowSnapshot <path> 启用snapshot功能后,并不会自动进行snapshot保存,还需要先创建snapshot, 通过下面的命令来执行:
hdfs dfs -createSnapshot <path> [<snapshotName>