hadoop之回收站机制及配额机制

来源:互联网 发布:淘宝号可以注销吗 编辑:程序博客网 时间:2024/05/21 06:16

Trash(回收站)

hadoop文件系统有一个回收站的机制,删除的文件呢并没有正在的删除,而是移动到了回收站文件夹,在core-site.xml配置文件中由fs.trash.interval配置属性来设置文件在回收站的驻留时间,是以分钟计算的,这个配置默认的是0,表示禁用回收站机制


我的系统中配置是360分钟

和很多的操作系统一样,hadoop的删除机制是用户级别的特征,意味着仅仅使用我们的shell脚本删除的才会进入到回收站,但是如果编写代码写程序来实现的删除是不进入到回收站的,文件会立即删除,除非调用moveToTrash()的方法,返回false,说明禁用回收站或者已在站中

当trash启动的话,每个用户都会有自己的回收站目录,这个目录名是.Trash这个具体路径是/user/集群用户/.Trash

清空回收站的文件

hadoop fs -expunge

这里有一个小误区:这个命令不是立即清空我们的回收站,而是将超过我们配置的fs.trash.interval间隔的数据清掉

恢复回收站的文件

将.Trash目录的文件移动出来即可  hadoop fs -mv /user/hdfs/.Trash/XX/XX/Xdata/

Quota(配额)

首先简单介绍一下配额的意思:

这个词在政府部门这个词会经常的用到,比如说我国进购一些石油啥的,不是说可以随便的购买的,这个是有限制的,比如说一共购买这么多量,然后分配给每个公司

配额分为目录配额和空间配额

目录配额

hdfs dfsadmin -setQuota N +需要配置配额的目录

这个需要管理员命令  N的意思就是指定我们的配额是多少N>0

如果为1就是这个目录下不能存放文件,或者创建目录

如果为2就是在这个目录下只能有一个操作项,比如说一个目录,或者是一个文件

这里的配额总结就是文件夹数+文件数<配额数 如果为3那个这俩个总数只能小于3

 空间配额

hdfs dfsadmin -setSpaceQuota N +需要配置的目录

这个的作用就是限制目录下可以存放多大的文件,我们所存放的文件总数的大小必须<N字节 也就是我们指定的配额总数

这个配额元数据其实就是指我们限制我们的存储空间,主要是避免某个文件夹下有过多的文件或者是文件夹太大,如果一个文件太大或文件夹内容太多,也不容易检索和读取