写点什么

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

  • 2025-06-26
    北京
  • 本文字数:639 字

    阅读完需:约 2 分钟

本文分享自天翼云开发者社区《HDFS目录配额(quota)不足导致写文件失败》,作者:5****m

问题背景与现象

给某目录设置 quota 后,往目录中写文件失败,出现如下问题“The DiskSpace quota of /tmp/tquota2 is exceeded”。

[omm@189-39-150-115 client]$ hdfs dfs -put switchuser.py  /tmp/tquota2put: The DiskSpace quota of /tmp/tquota2 is exceeded: quota = 157286400 B = 150 MB but diskspace consumed = 402653184 B = 384 MB
复制代码

可能原因

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

原因分析

  1. HDFS 支持设置某目录的配额,即某限制某目录的下的文件最多占用空间大小,例如如下命令是设置/tmp/tquota 目录最多写入 150MB 的文件(文件大小*副本数)。

    hadoop dfsadmin -setSpaceQuota 150M /tmp/tquota2

  2. 使用如下命令可以查看目录设置的配额情况,SPACE_QUOTA 是设置的空间配额,REM_SPACE_QUOTA 是当前剩余的空间配额。

    hdfs dfs -count -q -h -v /tmp/tquota2

  3. 日志分析,如下日志说明写入文件需要消耗 384M,但是当前的空间配额是 150M,因此空间不足。写文件前,需要的剩余空间是:块大小*副本数,128M*3 副本=384M。

[omm@189-39-150-115 client]$ hdfs dfs -put switchuser.py /tmp/tquota2 put: The DiskSpace quota of /tmp/tquota2 is exceeded: quota = 157286400 B = 150 MB but diskspace consumed = 402653184 B = 384 MB
复制代码

解决办法

  1. 增加配额大小,即重新设置目录的配额大小。

    hadoop dfsadmin -setSpaceQuota 150G /目录名

  2. 清空配额。

    hdfs dfsadmin -clrSpaceQuota /目录名

用户头像

还未添加个人签名 2022-02-22 加入

天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。

评论

发布
暂无评论
HDFS目录配额(quota)不足导致写文件失败_大数据_天翼云开发者社区_InfoQ写作社区