快照顾名思义,就是相当于对我们的hdfs文件系统做一个备份,我们可以通过快照对我们指定的文件夹设置备份,但是添加快照之后,并不会立即复制所有文件,而是指向同一个文件。当写入发生时,才会产生新文件。
快照使用基本语法
1、开启指定目录的快照功能
hdfs dfsadmin -allowSnapshot 路径
2.禁用指定目录的快照功能(默认就是禁用状态)
hdfs dfsadmin -disallowSnapshot 路径
3.给某个路径创建快照snapshot
hdfs dfs -createSnapshot 路径
4.指定快照名称进行创建快照snapshot
hdfs dfs -createSanpshot 路径 名称
5.给快照重新命名
hdfs dfs -renameSnapshot 路径 旧名称 新名称
6.列出当前用户所有可快照目录
hdfs lsSnapshottableDir
7.比较两个快照的目录不同之处
hdfs snapshotDiff 路径1 快照名称1 快照名称2
8.删除快照snapshot
hdfs dfs -deleteSnapshot 路径1 快照名称
快照操作实际案例
1、开启与禁用指定目录的快照
[root@node01 Hadoop-2.6.0-cdh5.14.0]# hdfs dfsadmin -allowSnapshot /user Allowing snaphot on /user succeeded [root@node01 Hadoop-2.6.0-cdh5.14.0]# hdfs dfsadmin -disallowSnapshot /user Disallowing snaphot on /user succeeded
2、对指定目录创建快照 注意:创建快照之前,先要允许该目录创建快照
[root@node01 Hadoop-2.6.0-cdh5.14.0]# hdfs dfsadmin -allowSnapshot /user Allowing snaphot on /user succeeded [root@node01 Hadoop-2.6.0-cdh5.14.0]# hdfs dfs -createSnapshot /user Created snapshot /user/.snapshot/s20190317-210906.549
通过web浏览器访问快照 http://xxxx:50070/dfshealth.html#tab-snapshot ("xxxx"为namenode所在服务器的ip)
4、重命名快照
hdfs dfs -renameSnapshot /user mysnap1 mysnap2
5、列出当前用户所有可以快照的目录
hdfs lsSnapshottableDir
6、比较两个快照不同之处
hdfs dfs -createSnapshot /user snap1
hdfs dfs -createSnapshot /user snap2
hdfs snapshotDiff /user snap1 snap2
7、删除快照
hdfs dfs -deleteSnapshot /user snap1
本次的分享就到这里了,小伙伴们有什么疑惑或好的建议可以积极在评论区留言,小菌后续还会推出HDFS系列的其他内容,希望大家持续关注小菌ヾ(๑╹◡╹)ノ"!