【问题标题】:How to delete files from the HDFS?如何从 HDFS 中删除文件?
【发布时间】:2016-03-12 10:56:02
【问题描述】:

我刚刚下载了 Hortonworks 沙盒虚拟机,里面有 Hadoop 2.7.1 版本。我通过使用添加一些文件

hadoop fs -put /hw1/* /hw1

...命令。之后,我将删除添加的文件,由

hadoop fs -rm /hw1/*

...命令,在它清理回收站后,由

hadoop fs -expunge

...命令。但是回收站清理后 DFS 剩余空间没有改变。甚至我可以看到数据确实从 /hw1/ 和回收站中删除了。我有fs.trash.interval parameter = 1

实际上我可以在/hadoop/hdfs/data/current/BP-2048114545-10.0.2.15-1445949559569/current/finalized/subdir0/subdir2文件夹中找到我所有的数据块,这真的让我感到惊讶,因为我希望它们被删除。

所以我的问题是如何以真正删除数据的方式删除数据?经过几次添加和删除,我的可用空间已经耗尽。

【问题讨论】:

  • 这意味着namenode 删除了元数据,但datanode 没有删除数据。检查您的 namenodedatanode 日志是否有错误或警告。尝试运行hdfs dfsadmin -report,看看你是否得到任何有用的信息。
  • 另外记账需要一些时间。
  • Hadoop 使用 -rm 命令将内容移动到 thrash 目录。如果要永久删除文件夹,则必须使用命令hadoop fs -rm -skipTrash /hw1/*
  • @ShivanandPawar 这并不完全正确,因为 /trash 目录中的文件会在 fs.trash.interval 属性中指定的分钟数后删除。此外,topicstarter 使用了hadoop fs -expunge,它从垃圾箱中永久删除了文件。
  • @maxteneff 我的错。非常感谢您指出这一点。

标签: hadoop hdfs hortonworks-data-platform


【解决方案1】:

试试hadoop fs -rm -R URI

-R 选项递归删除目录及其下的所有内容。

【讨论】:

    【解决方案2】:

    你可以使用

    hdfs dfs -rm -R /path/to/HDFS/file
    

    因为hadoop dfs 已被弃用。

    【讨论】:

      【解决方案3】:

      您的问题出在 HDFS 的基础上。在 HDFS(以及许多其他文件系统)中,物理删除文件并不是最快的操作。由于 HDFS 是分布式文件系统,通常在删除文件的不同服务器上复制至少 3 个副本,因此每个副本(可能由不同硬盘驱动器上的许多块组成)必须在您请求删除文件后在后台删除。

      Official documentation 的 Hadoop 告诉我们以下内容:

      删除文件 导致与文件关联的块被释放。注意 文件保存时间之间可能存在明显的时间延迟 被一个用户删除并且免费的时间相应增加 HDFS 中的空间。

      【讨论】:

      • 谢谢,这正是问题所在,文件被删除了一段时间后
      【解决方案4】:

      什么对我有用:

      hadoop fs -rmr -R <your Directory>
      

      【讨论】:

      • 已弃用:请改用“rm -r”。
      【解决方案5】:

      如果您还需要跳过垃圾邮件,以下命令对我有用

      hdfs dfs -rm -R -skipTrash /path/to/HDFS/file
      

      【讨论】:

        【解决方案6】:

        Durga Viswanath Gadiraju 是对的,这是时间问题,也许我的电脑很慢,而且还使用 VM,如果您使用的是我在问题中使用的算法,10 分钟后文件会被物理删除。 注意设置 fs.trash.interval 参数 = 1。否则默认文件不会超过 6 小时被删除。

        【讨论】:

        • 您可以设置fs.trash.interval = 0 完全禁用垃圾功能
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-05
        相关资源
        最近更新 更多