找回密码
 立即注册
首页 业界区 安全 HDFS目录配额(quota)不足导致写文件失败 ...

HDFS目录配额(quota)不足导致写文件失败

吕清莹 2025-6-26 20:54:48
本文分享自天翼云开发者社区《HDFS目录配额(quota)不足导致写文件失败》,作者:5****m
问题背景与现象

给某目录设置quota后,往目录中写文件失败,出现如下问题“The DiskSpace quota of /tmp/tquota2 is exceeded”。
  1. [omm@189-39-150-115 client]$ hdfs dfs -put switchuser.py  /tmp/tquota2
  2. put: The DiskSpace quota of /tmp/tquota2 is exceeded: quota = 157286400 B = 150 MB but diskspace consumed = 402653184 B = 384 MB
复制代码
可能原因

目录配置的剩余的空间小于写文件实际需要的空间。
原因分析


  • HDFS支持设置某目录的配额,即某限制某目录的下的文件最多占用空间大小,例如如下命令是设置/tmp/tquota 目录最多写入150MB的文件(文件大小*副本数)。hadoop dfsadmin -setSpaceQuota 150M /tmp/tquota2
  • 使用如下命令可以查看目录设置的配额情况,SPACE_QUOTA是设置的空间配额,REM_SPACE_QUOTA是当前剩余的空间配额。hdfs dfs -count -q -h -v /tmp/tquota2
  • 日志分析,如下日志说明写入文件需要消耗384M,但是当前的空间配额是150M,因此空间不足。写文件前,需要的剩余空间是:块大小*副本数,128M*3副本=384M。
    1. [omm@189-39-150-115 client]$ hdfs dfs -put switchuser.py  /tmp/tquota2
    2. put: The DiskSpace quota of /tmp/tquota2 is exceeded: quota = 157286400 B = 150 MB but diskspace consumed = 402653184 B = 384 MB
    复制代码
解决办法


  • 增加配额大小,即重新设置目录的配额大小。hadoop dfsadmin -setSpaceQuota 150G /目录名
  • 清空配额。hdfs dfsadmin -clrSpaceQuota /目录名

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册