HDFS目录配额(quota)不足导致写文件失败
本文分享自天翼云开发者社区《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/tquota2
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。
[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
解决办法
- 增加配额大小,即重新设置目录的配额大小。
hadoop dfsadmin -setSpaceQuota 150G /目录名
- 清空配额。
hdfs dfsadmin -clrSpaceQuota /目录名
HDFS目录配额(quota)不足导致写文件失败的更多相关文章
- Linux下中断程序导致写文件失败的分析
案例: 一个普通linux C程序,执行期间会进行多次printf操作,利用bash脚本重定向功能,将stdout重定向到一个另一个文件中去.在运行途中用ctrl+C终止程序,发现定向文件始终为空,即 ...
- php curl下载文件由于空格导致下载文件失败
<?php //$result=httpcopy('http://www.phpernote.com/image/logo.gif'); echo '<pre>';print_r($ ...
- 【HDFS API编程】图解客户端写文件到HDFS的流程
- 【练习】Java中的读文件,文件的创建,写文件
前言 大家好,给大家带来Java中的读文件,文件的创建,写文件的概述,希望你们喜欢 读文件 public static void read(String path,String filename){ ...
- Java中的读文件,文件的创建,写文件
前言 大家好,我是 Vic,今天给大家带来Java中的读文件,文件的创建,写文件的概述,希望你们喜欢 示意图 读文件 public static void read(String path,Strin ...
- 写文件前, 检查目录写权限(PHP)
写文件前, 检查目录写权限 写或保存文件前, 确保目录是可写的, 假如不可写, 输出错误信息. 这会节约你很多调试时间. linux系统中, 需要处理权限, 目录权限不当会导致很多很多的问题, 文件也 ...
- 第15章 磁盘配额(Quota)与高级文件系统管理
磁盘配额(quota)的应用与实践 什么是quota 举例来说,用户的默认主文件夹是在/home下面,如果/home是个独立的分区,假设是10G,/home下有30个账号,这样30个用户共享这10G的 ...
- HDFS写文件过程分析
转自http://shiyanjun.cn/archives/942.html HDFS是一个分布式文件系统,在HDFS上写文件的过程与我们平时使用的单机文件系统非常不同,从宏观上来看,在HDFS文件 ...
- 小记---------Hadoop读、写文件步骤,HDFS架构理解
Hadoop 是一个开源框架,可编写和运行分布式应用处理大规模数据 Hadoop框架的核心是HDFS 和 MapReduce HDFS是分布式文件系统(存储) MapReduce是分布式数据处理模型和 ...
- HDFS dfsclient写文件过程 源码分析
HDFS写入文件的重要概念 HDFS一个文件由多个block构成.HDFS在进行block读写的时候是以packet(默认每个packet为64K)为单位进行的.每一个packet由若干个chunk( ...
随机推荐
- 《HelloGitHub》第 108 期
兴趣是最好的老师,HelloGitHub 让你对开源感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣.入门级的开源项目. github.com/521xueweihan/HelloG ...
- 【电脑】VirtualBox 安装 Win98 写网页
VirtualBox 安装 Win98 写网页 记录一下,我成功在VirtualBox中安装了Win98系统,并且安装了Dreamweaver 3.0写网页. 零.起因 学校机房的极域电子教室软件不太 ...
- 用99元买的服务器搭一套CI/CD系统
故事的开始是这样的:无聊的时候在阿里云买了一个99/年的服务,上面部署了一个Git服务,用于托管自己无聊时写的一些代码,顺便也拿它做开发服务器.为了方便应用管理,起初用docker来管理和部署应用,后 ...
- nodejs新进程子进程
获取进程相关的基本信息 #!/bin/env node console.log (process.execPath) console.log (process.cwd()) console.log ( ...
- oracle的order by 中文排序原理
近期发现oracle的order by中文排序并不是完全按照拼音排序的 经过测试发现oracle的order by中文排序是按照中文的ASCII码排序的 查询字符ASCII码 select ascii ...
- MySQL 中 AUTO_INCREMENT 列达到最大值时会发生什么?
在MySQL中,AUTO_INCREMENT列用于自动生成唯一的数字值,通常用于主键.当AUTO_INCREMENT列达到最大值时,会发生以下几种情况,具体取决于列的数据类型以及MySQL的配置. 对 ...
- thinkphp 3.2的一些笔记
1.基础操作"::"语法.A()方法 2.php与js混写实现ajax无刷新执行控制器的方法 3.session的使用,通过session验证用户登录状态 4.使用UTFWry.d ...
- CF1546B题解
看了题面,一道简单的假交互题 题目传送门,另一个传送门 读好题目很重要 AquaMoon 有 nnn 个长度为 mmm 的字符串,其中 nnn 是奇数. 然后她选取 n−1n-1n−1 个字符串,将它 ...
- Tortoise-ORM级联查询与预加载性能优化
title: Tortoise-ORM级联查询与预加载性能优化 date: 2025/04/26 12:25:42 updated: 2025/04/26 12:25:42 author: cmdra ...
- kali安装charles
00X01 kali安装charles wget -q -O - http://www.charlesproxy.com/packages/apt/PublicKey | sudo apt-key a ...