开发者社区> 问答> 正文

如何恢复hadoop下的所有文件

hadoop下的命令文件被hive导出数据时overwrite了,请问如何恢复?

展开
收起
zjz2165 2020-12-08 12:32:53 632 0
1 条回答
写回答
取消 提交回答
  • 如何恢复Hadoop中被删除的文件

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

      1 设置.Trash文件夹

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

      

       fs.trash.interval

       10080

            该配置项在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/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 -mv /user/hadoop/.Trash/Current/test1 /test

      4 彻底删除hdfs文件

      彻底删除hdfs文件即将.Trash中文件彻底删除,这样才能是否被删除文件所占用的hdfs空间,第2步中的删除方式hdfs不会释放空间,只是将需要删除的文件移动到了垃圾箱。.Trash其实只是hdfs中的一个目录,只要删除该文件夹中的文件即可彻底删除该文件,原理相当于删除了回收站中的文件,该文件即被彻底删除。该项一般很少用,一般hdfs空间不够用才会用到。删除.Trash中文件举例如下:

      bin/hadoop fs -rm -r /user/hadoop/.Trash/Current/test1

    2021-02-20 14:47:35
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
《构建Hadoop生态批流一体的实时数仓》 立即下载
零基础实现hadoop 迁移 MaxCompute 之 数据 立即下载
CIO 指南:如何在SAP软件架构中使用Hadoop 立即下载

相关实验场景

更多