`
hmilyzhangl
  • 浏览: 46312 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

Hadoop的rmr和trash

阅读更多

这两天在操作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

分享到:
评论

相关推荐

    Hadoop回收站trash-恢复删除的文件

    当需要清理回收站时,可以使用`Hadoop fs -rmr .Trash`命令,这将删除所有位于`.Trash`目录中的内容,释放磁盘空间。 ### 小结 Hadoop的回收站(Trash)机制是一项非常实用的功能,它允许管理员和用户在误删除...

    hadoop的hadoop.dll和winutils.exe下载

    在Hadoop生态系统中,`hadoop.dll`和`winutils.exe`是两个关键组件,尤其对于Windows用户来说,它们在本地开发和运行Hadoop相关应用时必不可少。`hadoop.dll`是一个动态链接库文件,主要用于在Windows环境中提供...

    hadoop2.7.3的hadoop.dll和winutils.exe

    在IT行业中,Hadoop是一个广泛使用的开源框架,主要用于大数据处理和分布式存储。Hadoop 2.7.3是Hadoop发展中的一个重要版本,它包含了众多的优化和改进,旨在提高性能、稳定性和易用性。在这个版本中,`hadoop.dll`...

    hadoop调试工具hadoop.dll和hadoop.exp和winutils.exe

    在Hadoop生态系统中,调试工具对于开发者和管理员来说至关重要,特别是在Windows环境中。本文将深入探讨三个关键组件:hadoop.dll、hadoop.exp和winutils.exe,以及它们在64位系统中的应用。这些组件主要用于在...

    Hadoop fs命令详解.docx

    Hadoop fs命令详解 Hadoop fs命令是Hadoop分布式文件系统(HDFS)的命令行接口,...本文详细介绍了Hadoop fs命令的使用方法和实践操作,希望能够帮助读者更好地理解和使用Hadoop fs命令,提高大数据处理和分析的效率。

    hadoop.dll 和 winutils.exe

    在IT行业中,Hadoop是一个广泛使用的开源框架,主要用于大数据处理和分布式存储。它是由Apache软件基金会开发并维护的,旨在提供可靠、可扩展的数据处理能力。标题中的"hadoop.dll"和"winutils.exe"是Hadoop在...

    hadoop2.7.3 Winutils.exe hadoop.dll

    在IT行业中,Hadoop是一个广泛使用的开源框架,主要用于大数据处理和分布式存储。Hadoop 2.7.3是这个框架的一个稳定版本,它包含了多个改进和优化,以提高性能和稳定性。在这个版本中,Winutils.exe和hadoop.dll是两...

    适合hadoop2.9.* 以及 hadoop2.7.* 的winutils.exe_hadoop.dll 配置文件

    在Hadoop生态系统中,`winutils.exe` 和 `hadoop.dll` 是两个关键的组件,主要用于Windows环境下运行Hadoop。由于Hadoop最初是为Linux设计的,因此在Windows上使用时需要这些特定的二进制文件来模拟某些Unix/Linux...

    Hadoop的升级和回滚

    Hadoop的升级和回滚 Hadoop升级和回滚是Hadoop集群管理员需要掌握的重要知识点。升级Hadoop可以引入新的功能和改进性能,但是同时也可能引入新的bug或不兼容的修改,导致现有的应用出现问题。因此,了解Hadoop的...

    hadoop2.6,hadoop.dll、winutils.exe下载

    在IT行业中,Hadoop是一个广泛使用的开源框架,主要用于大数据处理和分布式存储。Hadoop 2.6是Hadoop发展过程中的一个重要版本,它带来了许多性能优化和功能改进,旨在提高集群效率和稳定性。本资源提供了适用于64位...

    hadoop.dll & winutils.exe For hadoop-3.0.0

    标题中的“hadoop.dll & winutils.exe For hadoop-3.0.0”是指在Hadoop 3.0.0版本中使用的两个关键组件:hadoop.dll和winutils.exe。这两个文件对于在Windows环境中配置和运行Hadoop生态系统至关重要。 Hadoop是一...

    Hadoop Windows系统安装包 和 winutils的文件

    在IT行业中,Hadoop是一个广泛使用的开源框架,主要用于大数据处理和分析。它最初设计的目标是处理和存储海量数据,尤其适合那些不适合在单台机器上运行的大型数据集。本篇将详细介绍如何在Windows系统中安装Hadoop...

    Hadoop多版本 hadoop.dll和winutils.exe 下载

    支持如下版本的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权威指南4和源码

    这本书是许多开发者和数据工程师学习Hadoop的首选资料,而附带的源码则为读者提供了更直观的理解途径。在深入探讨Hadoop的知识点时,我们可以从以下几个方面进行: 1. **Hadoop概述**:Hadoop是一个开源的分布式...

    hadoop2.6.0版本hadoop.dll和winutils.exe

    在标题中提到的“hadoop2.6.0版本hadoop.dll和winutils.exe”是针对Windows环境下运行Hadoop的一些关键组件。 1. **Hadoop 2.6.0**: 这是Hadoop的一个主要版本,发布于2014年,带来了许多增强和改进。在Hadoop 2.x...

    Hadoop课程实验和报告——Hadoop安装实验报告

    Hadoop课程实验和报告——Hadoop安装实验报告 Hadoop是一个开源的大数据处理框架,由Apache基金会开发和维护。它提供了一种可靠、可扩展、可高效的方法来存储和处理大规模数据。在本实验报告中,我们将介绍Hadoop的...

    hadoop-eclipse-plugin插件和hadoop.dll和winutile.exe.zip

    在IT行业中,Hadoop是一个广泛使用的开源框架,用于存储和处理大数据。`hadoop-eclipse-plugin`是Eclipse集成开发环境中的一个插件,它使得开发者能够在Eclipse中直接编写、调试和运行Hadoop MapReduce程序,极大地...

    hadoop的dll文件 hadoop.zip

    Hadoop是一个开源的分布式计算框架,由Apache基金会开发,它主要设计用于处理和存储大量数据。在提供的信息中,我们关注的是"Hadoop的dll文件",这是一个动态链接库(DLL)文件,通常在Windows操作系统中使用,用于...

    winutils+hadoop.dll+eclipse插件(hadoop2.7)

    在Hadoop生态系统中,`winutils.exe`和`hadoop.dll`是Windows环境下运行Hadoop必备的组件,尤其对于开发和测试环境来说至关重要。这里我们深入探讨这两个组件以及与Eclipse插件的相关性。 首先,`winutils.exe`是...

    hadoop.dll & winutils.exe For hadoop-2.6.0

    在Hadoop生态系统中,`hadoop.dll`和`winutils.exe`是两个关键组件,尤其对于Windows用户来说。本文将详细介绍这两个文件以及它们在Hadoop 2.6.0版本中的作用。 `hadoop.dll`是Hadoop在Windows环境下运行所必需的一...

Global site tag (gtag.js) - Google Analytics