HDFS快照管理

23

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

基本语法

  • 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