HDFS中snapshot快照机制

介绍

  • snapshot是数据存储的某一时刻的状态记录,备份(backup)则是数据存储的某一个时刻的副本
  • HDFS snapshot快照是整个文件系统或某个目录在某个时刻的镜像,该镜像并不会随着源目录的改变而进行动态的更新

作用

  • 数据恢复
    对重要的目录进行创建snapshot的操作,当用户误操作时,可以通过snapshot来进行相关的恢复操组
  • 数据备份
    使用snapshot来进行整个集群,或者某些目录,文件的备份。管理员以某个时刻的snapshot作为备份的起始节点,然后通过表不同备份之间的差异性,来进行备份增量。
  • 数据测试
    在某些重要数据上进行测试或者实验,可能会直接将原始的数据破坏掉。可以临时的为用户针对操作的数据来创建一个snapshot,然后让用户在对应的snapshot上进行相关的实验恶化测试,从而避免对原始数据的破坏

功能实现

  • HDFS快照不是数据的简单拷贝,只做差异的记录
  • 对于大多不变的数据,所看到的数据其实是当前物理路径所指的内容,而发生变更的inode数据才会被快照而外拷贝,也就是所说的差异拷贝
  • inode指索引节点,用来存放文件及目录的基本信息,包含时间,名称,拥有者,所在组等
  • HDFS快照不会复制datanode中的块,只记录块列表和文件的大小
  • HDFS快照不会对常规HDFS操作产生不利影响,修改记录按逆时针顺序进行,因此可以直接访问当前数据。通过从当前数据中减去修改来计算快照数据

相关命令和操作

  • HDFS中可以针对整个文件系统或者某个目录创建快照,但是前提是相应的目录开启快照功能
  • 如果针对没有启动快照功能的目录创建快照则会报错
  • HDFS中可以针对已经开启快照功能的目录进行禁用快照功能的设置
  • 禁用的前提是该目录所有的快照已经被删除
# 启用快照功能
hdfs dfsadmin -allowSnapshot .allenwoon
# 禁用快照功能
hdfs dfsadmin -disadminSnapshot /allenwoon

在这里插入图片描述
在这里插入图片描述

相关命令

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_49750432/article/details/132171669