HDFS配额操作实战

php中文网
发布: 2016-06-07 16:41:25
原创
1922人浏览过

在HDFS中,管理员可以通过为每一个目录设置一定名称和空间上的配额。名称配额和空间配额可以单独设置,但是从管理上和实现上,这两种配额接近平行。 名称配额(name quota) 是在该目录下所有文件和目录名称的数量上的硬限制。当超过这个配额设置时,文件或目

在HDFS中,管理员可以通过为每一个目录设置一定名称和空间上的配额。名称配额和空间配额可以单独设置,但是从管理上和实现上,这两种配额接近平行。
名称配额(name quota)是在该目录下所有文件和目录名称的数量上的硬限制。当超过这个配额设置时,文件或目录就会创建失败。重命名后命名配额仍然起作用。如果重命名操作违反配额的限制,那么重命名会失败。新建的目录不会有任何配额设置。名字配额的上限是Long.Max_Value,如果配额为1那么这个目录会强制为空,因为目录自身也会占用1个配额。配额的设置被持久化在fsimage中,当启动后,如果fsimage发现违反了配额限制,这输出警告。另外,设置或删除配额会创建一个空的日志。
只有管理员可以设置名称配额和空间配额,下面的命令设置/清理名称配额。N需要是一个正整数。
dfsadmin -setQuota N directory...directory
dfsadmin -clrQuota directory...directory
例如,下面对于/data目录限制3个名称配额:

hdfs dfs -mkdir /data
hdfs dfs -setQuota 3 /data
hdfs dfsadmin -setQuota 3 /data
hdfs dfs -touchz /data/f{1,2}
#创建第三个文件
hdfs dfs -touchz /data/f3
touchz: The NameSpace quota (directories and files) of directory /data is exceeded: quota=3 file count=4
#清楚名称配额
hdfs dfsadmin -clrQuota /data
登录后复制

空间配额(space quota)是目录的空间大小限制。如果超过这个配额,块写入操作会失败。副本也算配额中的一部分(GB的数据并且一共三个副本那么会消耗3GB的空间配额)。配额为0时,文件可以被创建,但是不能向文件中写入块。创建空间配额的命令如下,N可以有是5g,50GB,2t,2TB等。如果N是负数,那么则不能创建文件或写入任何数据。
dfsadmin -setSpaceQuota ...
dfsadmin -clrSpaceQuota ...

#重新创建/data
hdfs dfs -rm -r /data
hdfs dfs -mkdir /data
hdfs dfsadmin -setSpaceQuota 30m /data
#生成一个9M的文件
dd if=/dev/zero of=/tmp/f bs=1M count=200
#追加到文件
dfs dfs -appendToFile /tmp/f /data/f
#第二次追加,此时已经超过配额大小(副本为3)
dfs dfs -appendToFile /tmp/f /data/f
......
appendToFile: The DiskSpace quota of /data is exceeded: quota = 1073741824 B = 1 GB but diskspace consumed = 1207959552 B = 1.13 GB
登录后复制

另外,通过fs -count -q directory...directory命令,使用-q选项,可以显示目录的名称配额,剩余名称配额,空间配额,可用空间配额。如果目录没有设置配额,会显示为none和inf。

?参考:

一键职达
一键职达

AI全自动批量代投简历软件,自动浏览招聘网站从海量职位中用AI匹配职位并完成投递的全自动操作,真正实现'一键职达'的便捷体验。

一键职达 265
查看详情 一键职达

http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HdfsQuotaAdminGuide.html

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号