求教如何修改HDFS删除策略
在网上看到HDFS在删除文件时,文件并没有立刻从HDFS中删除。而是将文件重命名,并转移到/trash目录,以被当需要时迅速地恢复。而文件在/trash中保存的时间是可配置的,当超过这个时间,Namenode就会将该文件从namespace中删除。文件的删除,也将释放关联该文件的数据块。在文件被用户删除和HDFS空闲空间的增加之间会有一个等待时间延迟。目前的默认策略是删除保留超过6小时的文件,这个策略以后会定义成可配置的接口。而我在实际应用当中,当删除大量文件后,HDFS并没有立即删除那些文件占用的块,而是缓慢的,一些一些的减少块数,在2、3个小时后所有被删除文件占用的空间都被释放。现在想修改HDFS的删除策略,使在做一次删除后可以立即或者尽快时间的从物理上删除这些文件,而不需要等待若干小时,HDFS是不是还没有出现修改这个策略的接口,请问大牛们怎么做使得我可以达到目的,或者说修改哪一部分源码呢,有没有做过类似工作的前辈给些指导好吗~~谢谢~ 在Hadoop中除了Last copy 会放到trash里外,其他的bucket也就是你们常说的block删除的速度是可以控制的。方法是通过配置文件.xml的(配置文件太多,具体那个忘记了)配置Namenode的。 只需要找到那个xml文件就好了啦,此外在delete这块是提供接口,供外部Application来控制的哈 回复 3# ROD
谢谢ROD的回答。
你的意思是可以通过修改配置文件来调整删除的速度吗吗?是修改 hdfs-site.xml还是core-site.xml 呢吗?还有怎么通过delete这块的接口修改删除的时间呢~ 先谢谢啦! HDFS现在支持文件删除了吗?
以前好像是不行的啊,
你用的是哪个版本的HDFS吗? 回复 5# bigmike
版本是0.20.2就是删除上传到hdfs上的文件,可以的啊
页:
[1]