Fork me on GitHub

HDFS 快照管理

快照相当于对目录做一个备份。并不会立即复制所有文件,而是指向同一个文件。当写入发生时,才会产生新文件。

基本语法

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.开启/禁用指定目录的快照功能
[liucw@hadoop102 hadoop-2.7.2]$ hdfs dfsadmin -allowSnapshot /user/liucw/data

[liucw@hadoop102 hadoop-2.7.2]$ hdfs dfsadmin -disallowSnapshot /user/liucw/data

2.对目录创建快照
[liucw@hadoop102 hadoop-2.7.2]$ hdfs dfs -createSnapshot /user/liucw/data

通过web访问hdfs://hadoop102:9000/user/liucw/data/.snapshot/s…..// 快照和源文件使用相同数据块

[liucw@hadoop102 hadoop-2.7.2]$ hdfs dfs -lsr /user/liucw/data/.snapshot/

3.指定名称创建快照
[liucw@hadoop102 hadoop-2.7.2]$ hdfs dfs -createSnapshot /user/liucw/data miao170508

4.重命名快照
[liucw@hadoop102 hadoop-2.7.2]$ hdfs dfs -renameSnapshot /user/liucw/data/ miao170508 liucw170508

5.列出当前用户所有可快照目录
[liucw@hadoop102 hadoop-2.7.2]$ hdfs lsSnapshottableDir

6.比较两个快照目录的不同之处
[liucw@hadoop102 hadoop-2.7.2]$ hdfs snapshotDiff /user/liucw/data/ . .snapshot/liucw170508

7.恢复快照
[liucw@hadoop102 hadoop-2.7.2]$ hdfs dfs -cp /user/liucw/input/.snapshot/s20170708-134303.027 /user

-----------------本文结束,感谢您的阅读-----------------