当前位置:  开发笔记 > 运维 > 正文

如何从HDFS中删除文件?

如何解决《如何从HDFS中删除文件?》经验,为你挑选了2个好方法。

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

hadoop fs -put /hw1/* /hw1

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

hadoop fs -rm /hw1/*

...命令,并在清理回收站后,通过

hadoop fs -expunge

...命令.但是在重新清洗后,DFS剩余空间没有改变.即使我可以看到数据真的从/ hw1 /和recyle bin中删除了.我有fs.trash.interval parameter = 1.

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

那么我的问题是如何以真正删除的方式删除数据?经过几次添加和删除后,我的空闲空间耗尽了.



1> BruceWayne..:

尝试 hadoop fs -rm -R URI

-R选项以递归方式删除目录及其下的任何内容.



2> maxteneff..:

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

Hadoop的官方文档告诉我们以下内容:

删除文件会导致释放与文件关联的块.请注意, 用户删除文件的时间与HDFS中相应增加的可用空间之间可能存在明显的时间延迟.

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有