欢迎访问小程序员!

hadoop hdfs中删除文件恢复

2014-10-20 0条评论 2109次浏览

    hadoop的hdfs中删除的文件恢复原理和回收站原理是一样的,就是在删除hdfs文件时,被删除的文件存在了hdfs的.Trash文件夹中,恢复时只需要将该文件夹中文件拿出即可。具体操作如下:

1 设置trash

    如果需要恢复hdfs中文件,就需要设置trash,hadoop的trash默认是关闭的。具体设置如下:

    <property>
          <name>fs.trash.interval</name>
          <value>10080</value>
    </property>

    该配置项在core-site.xml中,fs.trash.interval代表删除的文件保留的时间,时间单位为分钟,默认为0代表不保存删除的文件。我们只需要设置该时间即可打开trash。

2 设置后删除文件会显示删除的文件被移动到了hdfs://192.168.1.100:9000/user/hadoop/.Trash/Current中,举例如下:

14/10/20 16:48:24 INFO fs.TrashPolicyDefault: Namenode trash configuration: Deletion interval = 10080 minutes, Emptier interval = 0 minutes.
Moved: 'hdfs://10.207.0.217:9000/data/test_out/mr-20141017111556' to trash at: hdfs://192.168.1.100:9000/user/hadoop/.Trash/Current

3 恢复时只需要将.Trash中文件移动到我们设置的目录即可,例如将.Trash中test1文件移动到/test目录,

    bin/hadoop fs -du -h /user/hadoop/.Trash/Current/test1 /test

4 彻底删除文件

    该项即为将.Trash中文件彻底删除。.Trash其实只是hdfs中的一个目录,只要删除该文件夹中的文件即彻底删除了被删除的文件,原理相当于删除了回收站中的文件,该文件即被彻底删除。该项一般很少用,除非hdfs空间不够用。

发表评论

登录,将以游客形式发表

网友最新评论(0)