hadoop snapshot 备份恢复 .
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 备份恢复 .的更多相关文章
- Elasticsearch系列---生产数据备份恢复方案
前言 生产环境中运行的组件,只要有数据存储,定时备份.灾难恢复是必修课,mysql数据库的备份方案已经非常成熟,Elasticsearch也同样有成熟的数据备份.恢复方案,我们来了解一下. 概要 本篇 ...
- etcd v3 备份恢复
备份数据: # ETCDCTL_API=3 etcdctl --endpoints localhost:2379 snapshot save snapshot.db 恢复数据: # ETCDCTL_A ...
- Elasticsearch snapshot 备份的使用方法 【备忘】
常见的数据库都会提供备份的机制,以解决在数据库无法使用的情况下,可以开启新的实例,然后通过备份来恢复数据减少损失.虽然 Elasticsearch 有良好的容灾性,但由于以下原因,其依然需要备份机制. ...
- MySQL实时在线备份恢复方案
开源Linux 长按二维码加关注~ 上一篇:2020年MySQL数据库面试题总结 快照和复制技术的结合可以保证我们得到一个实时的在线MySQL备份解决方案. 当主库发生误操作时,只需要恢复备库上的快照 ...
- MySQL 系列(四)主从复制、备份恢复方案生产环境实战
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...
- 基于MySQL MEB的备份恢复
MEB(MySQL Enterprise Backup)是MySQL商业版中提供的备份工具,属于物理备份. 同XtraBackup一样,mysqlbackup的使用过程同样包含如下三个步骤: 备份(- ...
- Xtrabackup原理及使用innobackupex进行MySQL数据库备份恢复
Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具. Xtrabackup中主要包含两个工 ...
- 在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 ...
- mongodb 的备份恢复导入与导出
导入导出 use hndb; db.s.save({name:'李四',age:18,score:80,address:'郑州'}); db.s.save({name:'李三',age:8,score ...
随机推荐
- Appium+python自动化(三十一)- 元芳,你怎么看? - 日志收集-logging(超详解)
简介 生活中的日志是记录你生活的点点滴滴,让它把你内心的世界表露出来,更好的诠释自己的内心世界,而电脑里的日志是有价值的信息宝库. 日志文件是专门用于记录系统操作事件的记录文件或文件集合,操作系统有操 ...
- 洛谷 P2572 [SCOI2010]序列操作
题意简述 维护一个序列,支持如下操作 把[a, b]区间内的所有数全变成0 把[a, b]区间内的所有数全变成1 把[a,b]区间内所有的0变成1,所有的1变成0 询问[a, b]区间内总共有多少个1 ...
- 【转】linux tar.gz zip 解压缩 压缩命令
http://apps.hi.baidu.com/share/detail/37384818 download ADT link http://dl.google.com/android/ADT-0. ...
- PrintWriter out = response.getWriter();乱码解决
resopnse request的乱码问题 今天在改项目时,发现这个简单又容易忽视在问题.说起这个问题,比较简单,但也比较容易忽视.下面就具体讲讲这个问什么会出现乱码问题. request乱码指的 ...
- vue当图片加载失败时,用一个默认图片替换;
原理就是给img绑定error事件,替换原有的src地址. 首先在data中创建一个defaultImg(随便起的),里面的值是该默认图片的地址: 在html页面的img标签上绑定该属性 这样默认图片 ...
- JAVA 获取时间段内的每一天
public class day { public static void main(String[] args) { // TODO Auto-generated method stub Strin ...
- Markdown表格宽度调整
Markdown 表格默认宽度是根据内容来的,如果某一列内容很长的话会将其他列的宽度占用导致显示样式很丑.我们可以在表格前增加 CSS 样式来限制列的宽度: <style> table t ...
- Zabbix安装时出现缺少PHP模块,解决过程
我在安装时PHP缺少gettext模块和bcmath模块:一下为解决步骤: 1.进入到PHP源码包目录下的ext目录: #cd /soft/php-/ext 2.会看到ext目录下有gettext目录 ...
- 使用coding和hexo快速搭建博客
欢迎访问我的个人博客皮皮猪:http://www.zhsh666.xyz 今天教大家怎么用hexo快速搭建自己的博客.我不是专业人士,不懂前端知识,所以我十分讨厌那些专业术语,讲了一大堆,对于技术小白 ...
- lua_在C#中执行lua脚本
方法一:使用DoString 代码为: Lua lua = new Lua(); lua.DoString("a=13"); lua.D ...