这两天在操作Hadoop集群时,由于一个误操作,制作了一个天大的悲剧
不小心把Hadoop集群上的所有文件全部删除了,具体情况是这样的:
我用hadoop的超级帐户要建立一个目录,结果发现位置错了
也是,想使用rmr删掉那个目录,可是不小心把命令写成了
hadoop fs -rmr /user
于是,悲剧出现了,所有user目录下的所有目录和文件全都没有了
当时我就慌神了,赶紧从web查看50070的服务
眼看着DFS Used空间从100多G不停的减少
后来才反应过来,赶紧停掉namenode节点,然后上网google办法
后来,从secondname节点重新恢复了一个checkpoint
但绝大部分数据都已经丢失了,只恢复了一小部分数据,已经没啥用了
幸好,原始log我们在其它服务器上还保留的有,只能重新分析再入Hadoop了
总结了一下几点教训:
首先一定要控制好hadoop上各用户的权限,使各user只能操作自己的目录 尽量少用hadoop的超级用户进行操作,可以减少误操作 hadoop的rm和rmr命令,设计的太BT了,连一个确认提示都没有,直接就删除了。看到有人给官方提了这个建议,但人家回复说:已经有了trash机制了,所以不需要提示,真是无语…. hadoop的trash功能:很遗憾,之前没有配置trash,所以就直接给删除了,经过这次误操作,赶紧配置上trash,并设置保留时间为7天。
在core-site.xml中增加如下配置,表明rm后会在trash中保留多少分钟:
<property>
<name>fs.trash.interval</name>
<value>10080</value>
<description>
Number of minutes between trash checkpoints. If zero, the trash feature is disabled
</description>
</property>
很遗憾的是,hadoop的这个默认值是0,就是直接删除了,为什么要这么设计呢?郁闷….
经过简单的测试,这个trash功能还是不错的,当rm后,它会move到当前文件夹下的.Trash目录下
如果你删除一个文件或目录多次,则hadoop会自动在name后加上数字序列号
这样,如果你误删除后,就可以有选择的恢复文件了
hadoop fs -mkdir /user/oplog/test
hadoop fs -put *.txt /user/oplog/test
hadoop fs -rmr /user/oplog/test
hadoop fs -ls /user/oplog/.Trash/Current/user/oplog
drwxr-xr-x – oplog oplog 0 2010-11-16 10:44 /user/oplog/.Trash/Current/user/oplog/test
hadoop fs -mv /user/oplog/.Trash/Current/user/oplog/test /user/oplog/
hadoop fs -ls /user/oplog/.Trash/Current/user/oplog
drwxr-xr-x – oplog oplog 0 2010-11-16 10:44 /user/oplog/.Trash/Current/user/oplog/test
drwxr-xr-x – oplog oplog 0 2010-11-16 10:47 /user/oplog/.Trash/Current/user/oplog/test.1
转帖来自:http://www.tech126.com/hadoop-rmr-trash/
分享到:
相关推荐
关于hadoop恢复删除的文件,敬请参考
hadoop的hadoop.dll和winutils.exe下载
在windows环境下开发hadoop时,需要配置HADOOP_HOME环境变量,变量值D:\hadoop-common-2.7.3-bin-master,并在Path...解决方案:下载本资源解压将hadoop.dll和winutils.exe文件复制到hadoop2.7.3的bin目录下即可解决。
Hadoop安装和配置,Hadoop安装和配置,Hadoop安装和配置
Hadoop部署和配置Kerberos安全认证全套流程。已经过实测并部署与生产环境。
hadoop安装和配置,这份PPT讲诉了如何安装和配置Hadoop
hadoop调试工具hadoop.dll和hadoop.exp和winutils.exe 64位
支持如下版本的Hadoop hadoop-2.6.0 hadoop-2.6.3 hadoop-2.6.4 hadoop-2.7.1 hadoop-2.8.1 hadoop-2.8.3 hadoop-3.0.0
Hadoop 是一个处理、存储和分析海量的分布式、非结构化数据的开源框架。最初由 Yahoo 的工程师 Doug Cutting 和 Mike Cafarella Hadoop 是一个处理、存储和分析海量的分布式、非结构化数据的开源框架。最初由 Yahoo...
hadoop权威指南4和源码hadoop权威指南4和源码hadoop权威指南4和源码hadoop权威指南4和源码
hadoop hadoop的hadoop.dll和winutils.exe 解决方法, 把winutils.exe加入你的hadoop-x.x.x/bin下 Could not locate executable null\bin\winutils.exe in the Hadoop binaries
Hadoop技术内幕 深入解析HADOOP COMMON和HDFS架构设计与实现原理
本书从hadoop的缘起开始,由浅入深,结合理论和实践,全方位地介绍hado叩这一高性能处理海量数据集的理想工具。全书共14章,3个附录,涉及的主题包括:haddoop简介:mapreduce简介:hadoop分布式文件系统;hadoop的i...
Hadoop 技术内幕:深入解析Hadoop Common 和HDFS 架构设计与实现原理
hadoop1.1.2安装和配置hadoop1.1.2安装和配置hadoop1.1.2安装和配置hadoop1.1.2安装和配置hadoop1.1.2安装和配置hadoop1.1.2安装和配置hadoop1.1.2安装和配置hadoop1.1.2安装和配置hadoop1.1.2安装和配置hadoop1.1.2...
《Hadoop大数据开发实战》教学教案—01初识Hadoop.pdf《Hadoop大数据开发实战》教学教案—01初识Hadoop.pdf《Hadoop大数据开发实战》教学教案—01初识Hadoop.pdf《Hadoop大数据开发实战》教学教案—01初识Hadoop.pdf...
摘要 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。...Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算 软件特点 Hadoop是一个
本文罗列了Hadoop的文件操作命令大全,随时需要,均可以根据实际需要随时查询。特别适合刚入行大数据的小伙伴,必备工具。
Hadoop技术内幕 深入解析HADOOP COMMON和HDFS架构设计与实现原理.pdf
调用保存文件的算子,需要配置Hadoop依赖 将文件夹中的 hadoop-3.0.0 解压到电脑任意位置 在Python代码中使用os模块配置:os.environ[‘HADOOP_HOME’] = ‘HADOOP解压文件夹路径’ winutils.exe,并放入Hadoop解压...