1、允许创建快照

首先,在你想要进行备份的文件夹下面 执行命令,允许该文件夹创建快照

hdfs
dfsadmin -allowSnapshot <path>

例如:hdfs
dfsadmin -allowSnapshot /Workspace/linlin

出现此命令证明已经允许创建快照成功

=================================================================================================

2、创建快照

接下来就开始对此文件夹进行备份

hdfs
dfs -createSnapshot <path> [name]

例如 hdfs
dfs -createSnapshot /Workspace/linlin bak1

此命令出现证明已经创建快照成功

此时我们可以考虑一下是否能够在linlin子目录创建快照

hdfs'上目录结构如图所示

然后尝试在snaptest上建立快照

hdfs
dfs -createSnapshot /Workspace/linlin/snaptest bak2

报错,可见,只能在你允许的目录下面建立快照;

第一次快照  bak1 时候 没有snaptest文件夹,现在多了snaptest文件夹,再创建一次快照

若还是用

hdfs
dfs -createSnapshot /Workspace/linlin  bak1

有错误提示,快照名字已经存在

执行
 hdfs dfs -createSnapshot /Workspace/linlin  bak2

创建成功;

==============================================================================================================

3、查看快照

查看所有的snapshottable

   hdfs lsSnapshottableDir
查看到曾经允许创建快照的所有目录

查看当前快照下的文件  hadoop sanpshot 创建快照时候,默认的文件夹是.snapshot 查看时候必须加上.snapshot才能看到里面备份的东西;
.snapshot是后来hadoop才有的产物,所以之前若是有文件夹命名为snapshot关键字就不能创建快照了;

执行命令 hdfs dfs -ls /Workspace/linlin/.snapshot/

能够看到 这个快照下 有三个备份 分别是 bak1 、bak2 、 linlin

===========================================================================================================

4、对比快照

进行快照之间的对比,看到两个快照之间备份文件的区别

执行命令

hdfs snapshotDiff <path> <fromSnapshot> <toSnapshot>
例如:
执行命令 hdfs snapshotDiff  /Workspace/linlin bak1 bak2 
结果 Results:
+ The
file/directory has been created.
- The
file/directory has been deleted.
M The
file/directory has been modified.
R The
file/directory has been renamed.
这里出现M 代表我对linlin文件夹进行了修改,+代表新增了一个文件夹 snaptest
============================================================================================================================
5、恢复快照
恢复快照:

hdfs dfs -cp <path> <path>
例如: hdfs dfs -cp /Workspace/linlin/.snapshot/bak2/snaptest  /Workspace

查看hdfs目录:

已经成功恢复到 Workspace

==================================================================================================================================

题外话:
我们可以尝试着删除建立过快照的文件夹:是无法删除的,会提示

存在快照无法删,证明若是在文件夹下面建立快照,文件夹就无法删除或者移动
6、删除快照
下面的命令用于删除快照,该命令也要求用户具有快照目录的所有者权限:
hdfs dfs -deleteSnapshot <snapshotDir> <snapshotName>
[hadoop@hadoop ~]$ hdfs dfs -deleteSnapshot test/ snapshot01


hadoop snapshot 备份恢复 .的更多相关文章

  1. Elasticsearch系列---生产数据备份恢复方案

    前言 生产环境中运行的组件,只要有数据存储,定时备份.灾难恢复是必修课,mysql数据库的备份方案已经非常成熟,Elasticsearch也同样有成熟的数据备份.恢复方案,我们来了解一下. 概要 本篇 ...

  2. etcd v3 备份恢复

    备份数据: # ETCDCTL_API=3 etcdctl --endpoints localhost:2379 snapshot save snapshot.db 恢复数据: # ETCDCTL_A ...

  3. Elasticsearch snapshot 备份的使用方法 【备忘】

    常见的数据库都会提供备份的机制,以解决在数据库无法使用的情况下,可以开启新的实例,然后通过备份来恢复数据减少损失.虽然 Elasticsearch 有良好的容灾性,但由于以下原因,其依然需要备份机制. ...

  4. MySQL实时在线备份恢复方案

    开源Linux 长按二维码加关注~ 上一篇:2020年MySQL数据库面试题总结 快照和复制技术的结合可以保证我们得到一个实时的在线MySQL备份解决方案. 当主库发生误操作时,只需要恢复备库上的快照 ...

  5. MySQL 系列(四)主从复制、备份恢复方案生产环境实战

    第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...

  6. 基于MySQL MEB的备份恢复

    MEB(MySQL Enterprise Backup)是MySQL商业版中提供的备份工具,属于物理备份. 同XtraBackup一样,mysqlbackup的使用过程同样包含如下三个步骤: 备份(- ...

  7. Xtrabackup原理及使用innobackupex进行MySQL数据库备份恢复

    Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具. Xtrabackup中主要包含两个工 ...

  8. 在Linux操作系统下备份恢复技术的应用 转自https://yq.aliyun.com/articles/50205?spm=5176.100239.blogcont24250.9.CfBYE9

    摘要: 安全防护:在Linux操作系统下备份恢复技术的应用  原文参见:http://linux.chinaunix.net/techdoc/system/2005/12/19/925898.shtm ...

  9. mongodb 的备份恢复导入与导出

    导入导出 use hndb; db.s.save({name:'李四',age:18,score:80,address:'郑州'}); db.s.save({name:'李三',age:8,score ...

随机推荐

  1. 不可错过的几款GitHub开源项目

    工作之余或者周末感觉无聊?不知道干什么?想继续提高技术,但是不知道做什么的同学,看过来,不妨利用闲暇时间来撸几个 GitHub 上还不错的开源项目,本文推荐的开源项目比较适合新手.及对MVP设计模式不 ...

  2. 信安周报-第02周:SQL基础

    信安之路 第02周 Code:https://github.com/lotapp/BaseCode/tree/master/safe 前言 本周需要自行研究学习的任务贴一下: 1.概念(推荐) 数据库 ...

  3. Selenium+java - Page Object设计模式

    前言 Page Object(页面对象)模式,是Selenium实战中最为流行,并且被自动化测试同学所熟悉和推崇的一种设计模式之一.在设计测试时,把页面元素定位和元素操作方法按照页面抽象出来,分离成一 ...

  4. UI 组件 | Toggle

    Toggle(复选框)组件 Toggle 是一个 CheckBox,当它和 ToggleGroup 一起使用的时候,可以变成 RadioButton. 创建 Toggle 组件 层级管理器右击-> ...

  5. LoRaWAN调试踩坑心得(二)

    先说两句 抱歉,由于工作原因和个人原因,中间停更了这么久.接下来,本人会继续往下更,内容包括但不仅限于LoRa.文章还是会按照个人的习惯,坚持原创,一是作为自己的笔记,二是和广大工程师分享交流. Lo ...

  6. MinorGC 和 FullGC的理解

    1.GC回收机制熟悉么,分代算法知道么?2.了解 Java 虚拟机的垃圾回收算法? 从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC. Major GC 是清 ...

  7. react native Android支持gif和WebP动图

    在项目android/app/build.gradle的文件中找到dependencies 支持gif动图加入: implementation 'com.facebook.fresco:animate ...

  8. Immutable Object模式 - 多线程

    Immutable Object模式 - 多线程 前言 在多线程编程中,我们常会碰到修改一个对象的值,如果在不加锁的情况下 ,就会出现值不一致的问题,那么有没有一种方式可以不通过加锁的方式也可以保证数 ...

  9. 答辩过了,但我知道我写的是一坨shi

    如果时间可以重来, 请好好珍惜大学里最重要的一份答卷. 以后的你会发现, 这种完全独立做出科研成果的机会, 可能不会再有. 1.保研了,才发现科研是多么难的一件事. 一直以来,读的喜欢的专业,考试成绩 ...

  10. 【故障公告】阿里云 RDS 数据库服务器 CPU 100% 造成全站故障

    非常非常抱歉,今晚 19:34 ~ 21:16 园子所使用的阿里云 RDS 数据库服务器突然出现 CPU 100% 问题,造成全站无法正常访问,由此您带来了很大的麻烦,请您谅解. 故障经过是这样的.1 ...