什么是HDFS配额

发布时间:2021-10-13 10:55:49 作者:iii
来源:亿速云 阅读:119

这篇文章主要介绍“什么是HDFS配额”,在日常操作中,相信很多人在什么是HDFS配额问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”什么是HDFS配额”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

【配额】


HDFS中,配额用于限制目录的使用空间,具体可分为名称配额空间配额

空间配额指的是单个目录中所有文件总的大小限制,文件副本的大小也计算在内。

名称配额指的是根目录树中的文件和目录的最大数量,即递归计算子目录,孙子目录下的文件和目录数。

通过如下命令可以对具体目录设置其配额:

# 设置名称配额# max_number 为最大文件/目录数# dirname 为指定的目录hdfs dfsadmin -setQuota <max_number> <dirname># 设置空间配额# bytes 为最大存储字节数hdfs dfsadmin -setSpaceQuota <bytes> <dirname>

通过如下命令可以查看目录的配额情况:

hdfs dfs -count -q /tmp/hncscwc# 显示结果    # 名称配额大小  名称配额剩余大小  空间配额大小  空间配额剩余大小  目录数  文件数  文件大小  目录的路径   none  inf  536870912  536870912  1  0  0  /tmp/hncscwc

通过如下命令可以清除配额:

# 清除名称配额hdfs dfsadmin -clrQuota <dirname># 清除空间配额额hdfs dfsadmin -clrSpaceQuota <dirname>

【内部实现】


【能否针对用户进行配额的设置】


在HDFS中有用户、用户组的概念,即每个文件/目录属于指定用户、用户组。同时可以通过开启ACL,为文件/目录设置访问权限。这样HDFS也就支持多用户了。

在多用户的真实场景中,通常是以用户为单位来设置配额,即某个用户能使用多大的空间。对照HDFS的配额,可能就需要指定某个用户能写哪些目录,然后为这些目录分别设置配额,来实现用户配额的功能。

那么,HDFS能否支持直接按照用户来进行配额呢?或者说,如果要支持按照用户来进行配额,HDFS需要做哪些改动呢?

首先要考虑到的就是,用户的配额信息需要进行持久化的存储,因此需要添加对应的editlog操作,同时fsiamge中也需要进行对应的存储(即改变fsiamge的存储信息),然后每个文件进行写操作,文件拷贝,快照等操作时,需要判断是否超过用户的配额。此外在联邦的场景中,考虑的情况会更复杂。

到目前为止,官方的版本中是不支持对用户进行配额的设置的

在社区中,看到有类似的问题讨论,但没有实际结论或计划进行相应的设计开发。

【FAQ】


到此,关于“什么是HDFS配额”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. 九、HDFS安全模式,快照,回收站,配额管理的用法
  2. 磁盘配额配置

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

hdfs

上一篇:.NET中泛型怎么用

下一篇:PHP知识点有哪些

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》