快照的含义
快照不是数据的简单拷贝,快照只做差异的记录。HDFS中只为每个快照保存相对当时快照创建时间点发生过变更的INode信息,只是“存不同”。
快照的作用
① 丢失数据的恢复。这里丢失的数据指的是相对于创建快照时间点之后丢失的数据。在HDFS的快照中,只会额外复制发生变更的数据,所以在快照内部,自然会存在丢失数据的一个备份,这个时候只需要将对应快照文件目录拷贝一份即可。
② 元数据的差异比较。HDFS的快照能够提供diff比较的功能。比较的结果会展示相对于源端快照,目标快照中发生的文件目录的变更记录。这个差异结果可以用于数据的同步,比如快照在DistCp命令中的使用。用DistCp中的-diff参数附加两个from、to快照,进行元数据变更的同步,然后利用DistCp的功能,进行真实数据的拷贝,以此实现集群数据间的同步。获取快照信息时,根据快照ID和当前没发生过变更的INode信息,进行对应恢复。
快照“比差异”的命令如下:hdfs snapshotDiff <path> <fromSnapshot> <toSnapshot>
快照的命令
列出所有允许快照的目录
hdfs lsSnapshottableDir
允许为某个目录创建快照
hdfs dfsadmin -allowSnapshot /hbase
禁止为某个目录创建快照
hdfs dfsadmin -disallowSnapshot /hbase
为某个目录创建快照
hdfs dfs -createSnapshot /hbase snapshot_0816
删除某个快照
hdfs dfs -deleteSnapshot /hbase snapshot_0816
对比两个快照
hdfs snapshotDiff <Path> <fromSnapshot> <toSnapshot>
hadoop fs [generic options]
以下为具体的[generic options]:
[-createSnapshot []] //在指定快照目录下创建快照
[-deleteSnapshot []] //在指定快照目录下删除快照
[-renameSnapshot ] //在指定快照目录下重命名快照
hdfs [-config confdir] [-loglevel loglevel] [COMMAND] //以下为具体的COMMAND
snapshotDiff //比较两个快照之间的不同或是比较当前内容与某快照之间的不同
IsSnapshottableDir //列出所属当前用户的所有的快照目录
HDFS_快照
最新推荐文章于 2021-10-11 08:50:00 发布