HDFS快照管理
快照相当于对目录做一个备份。并不会立即复制所有文件,而是指向同一个文件。当写入发生时,才会产生新文件。
基本语法
- hdfs dfsadmin -allowSnapshot 路径 (功能描述:开启指定目录的快照功能)
- hdfs dfsadmin -disallowSnapshot 路径 (功能描述:禁用指定目录的快照功能,默认是禁用)
- hdfs dfs -createSnapshot 路径 (功能描述:对目录创建快照)
- hdfs dfs -createSnapshot 路径 名称 (功能描述:指定名称创建快照)
- hdfs dfs -renameSnapshot 路径 旧名称 新名称 (功能描述:重命名快照)
- hdfs lsSnapshottableDir (功能描述:列出当前用户所有可快照目录)
- hdfs snapshotDiff 路径1 路径2 (功能描述:比较两个快照目录的不同之处)
- hdfs dfs -deleteSnapshot <path> <snapshotName> (功能描述:删除快照)
案例实操
1.开启/禁用指定目录的快照功能
hdfs dfsadmin -allowSnapshot /user/xcp/data
hdfs dfsadmin -disallowSnapshot /user/xcp/data
2.对目录创建快照
hdfs dfs -createSnapshot /user/xcp/data // 对目录创建快照
通过web或命令行访问(快照和源文件使用相同数据块)
hdfs://hadoop102:9000/user/xcp/data/.snapshot/s…..
hdfs dfs -lsr /user/xcp/data/.snapshot/
3.指定名称创建快照
hdfs dfs -createSnapshot /user/xcp/data miao170508
4.重命名快照
hdfs dfs -renameSnapshot /user/xcp/data/ miao170508 xcp170508
5.列出当前用户所有可快照目录
hdfs lsSnapshottableDir
6.比较两个快照目录的不同之处
hdfs snapshotDiff /user/xcp/data/ . .snapshot/xcp170508
7.恢复快照
hdfs dfs -cp /user/xcp/input/.snapshot/s20170708-134303.027 /user