快照相当于对目录做备份,并不会复制所有文件,而是记录文件的变化
命令用法
(1)hdfs dfsadmin -allowSnapshot 路径 (开启指定目录的快照功能) (2)hdfs dfsadmin -disallowSnapshot 路径 (禁用制定目录的快照功能,默认是禁用) (3)hdfs dfs -createSnapshot 路径 (对目录创建快照) (4)hdfs dfs -createSnapshot 路径 名称 (指定名称创建快照) (5)hdfs dfs -renameSnapshot 路径 旧名称 新名称 (重名名快照) (6)hdfs lsSnapshottableDir (列出当前用户所有可用快照目录) (7)hdfs snapshotDiff 路径1 路径2 (比较两个快照目录的不同之处) (8)hdfs dfs -deleteSnapshot 快照路径 (删除快照)
案例实操
(1)开启/禁用制定目录的快照功能
[linyouyi@hadoop01 bin]$ hdfs dfsadmin -allowSnapshot /user
[linyouyi@hadoop01 bin]$ hdfs dfsadmin -disallowSnapshot /user
(2)对目录创建快照
[linyouyi@hadoop01 bin]$ hdfs dfs -createSnapshot /user
[linyouyi@hadoop01 bin]$ hdfs dfs -lsr /user/.snapshot/
通过web访问hdfs://hadoop01:50070/user/atguigu/input/.snapshot/s…..// 快照和源文
(3)指定名称创建快照
[linyouyi@hadoop01 bin]$ hdfs dfs -createSnapshot /user user01
(4)重名名快照
[linyouyi@hadoop01 bin]$ hdfs dfs -createSnapshot /user user01 user0001
(5)列出当前用户所有快照
[linyouyi@hadoop01 bin]$ hdfs lsSnapshottableDir
(6)比较两个快照目录的不同之处
[linyouyi@hadoop01 bin]$ hdfs snapshotDiff /user01 /user001
(7)恢复快照
[linyouyi@hadoop01 bin]$ hdfs dfs -cp /user/.snapshot/ /user