MAPREDUCE服务 MRS-HDFS目录配额不足导致写文件失败

时间:2024-08-27 10:23:52

原因分析

  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

    图1 查看目录设置的配额
  3. 日志分析 ,如下日志说明写入文件需要消耗384M,但是当前的空间配额是150M,因此空间不足。写文件前,需要的剩余空间是:块大小*副本数,128M*3副本=384M。
    [omm@189-39-150-115 client]$ 
    [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
support.huaweicloud.com/trouble-mrs/mrs_03_0088.html