hdfs的文件个数 HDFS Quotas Guide
HDFS Quotas Guide
Overview
HDFS允许管理员为多个每个目录设置使用的命名空间和空间的配额。命名空间配额和空间配额独立操作,但是这两种类型的配额的管理和实现非常类似。
Name Quotas
命名空间配额是一个目录树中该目录下的文件和子目录数量的硬限制。如果超出配额,文件和目录会创建失败。配额会与重命名的目录保持联系。如果重命名操作导致违反配额限制,操作将会失败。为目录设置新的配额时,即使现在的目录状态违反新的配额限制,操作仍然成功。一个新创建的目录没有配额限制。配额的最大值是Long.Max_Value。一个目录的配额会强制一个目录保持空。(是的,一个目录会占用自己的配额)
配额在FsImage中被持久化。当集群启动时,如果fsimage中有违反配额的目录(可能是FsImage文件被偷偷地修改了),将会打印出一个warning。设置或者移除配额配置会创建日志条目。
Space Quotas
空间配额是关于目录树上一个子目录数下的文件大小的硬限制。如果一个目录所剩的配额不够一个Block的大小,Block申请失败。每一个Block的副本都会计算到配额中。配额会与重命名的目录保持联系,如果重命名操作导致违反配额限制,操作将会失败。一个新创建的目录不被分配配额。最大的配额值时Long.Max_Value。配额为0仍然允许文件被创建,但是这个文件不会有Block。目录不使用主机文件系统空间,不计算在空间配额中。(空间配额----Block)。改变一个文件的副本因子将会归还或者占用配额。
配额在FsImage中被持久化。当集群启动时,如果fsimage中有违反配额的目录(可能是FsImage文件被偷偷地修改了),将会打印出一个warning。设置或者移除配额配置会创建日志条目。
Administrative Commands
配额通过下面的命令管理,只对管理员可用:
1. dfsadmin -setQuota <N><directory>...<directory>
设置一个或多个目录的命名空间配额为N。如果N不是一个正整数,这个目录不存在或者这个路径是个文件,或者目录将立即超出新的配额时会抛出错误报告。
2. dfsadmin -clrQuota<directory>...<directory>
移除目录列表中目录的所有命名空间配额。如果目录不存在或者路径是一个文件,将会抛出错误。如果目录没有配额的话不会抛出错误。
3. dfsadmin-setSpaceQuota <N> <directory>...<directory>
设置目录列表中的每个目录的空间配额为N,单位bytes。这是对此目录下的整个字目录树的文件大小总和的硬限制。空间配额也会考虑副本等的信息,拥有3个副本的1GB的数据会消耗3GB的配额。为了方便,N也可以用一个二进制前缀指定。例如,50g用50 gigabytes表示,2t用2terabytes表示等等。如果N既不是0也不是正整数或者目录不存在或者路径是个文件或者目录将立即超出配额,会抛出错误信息。
4. dfsadmin-clrSpaceQuota <directory>...<director>
移除目录列表中每一个目录的空间配额。如果目录不存在或者路径是个文件,将会抛出错误。如果目录没有配额不会抛出错误。
Reporting Command
一个HDFS shell 计数命令的扩展,这个命令报考配额的值和当前使用的命名空间配额和空间配额。
fs -count -q <directory>...<directory>
使用-q选项,报告目录列表中每个目录的命名空间配额值,可用的命名空间剩余,空间配额值,可用的空间配额剩余。如果目录没有设置配额,报告的值时none和inf。
hdfs的文件个数 HDFS Quotas Guide的更多相关文章
- HDFS写文件过程分析
转自http://shiyanjun.cn/archives/942.html HDFS是一个分布式文件系统,在HDFS上写文件的过程与我们平时使用的单机文件系统非常不同,从宏观上来看,在HDFS文件 ...
- Hadoop HDFS分布式文件系统设计要点与架构
Hadoop HDFS分布式文件系统设计要点与架构 Hadoop简介:一个分布式系统基础架构,由Apache基金会开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群 ...
- Spark1.4从HDFS读取文件运行Java语言WordCounts
Hadoop:2.4.0 Spark:1.4.0 Ubuntu 14.0 1.首先启动Hadoop的HDFS系统. HADOOP_HOME/sbin/start-dfs.sh 2.在Linux ...
- Spark1.4从HDFS读取文件运行Java语言WordCounts并将结果保存至HDFS
本次实验相关信息如下: 操作系统:Ubuntu 14 Hadoop版本:2.4.0 Spark版本:1.4.0 运行前提是Hadoop与Spark均已正确安装配置 2.在Linux中生成一个文件tes ...
- hadoop HDFS常用文件操作命令
命令基本格式: hadoop fs -cmd < args > 1. ls 列出hdfs文件系统根目录下的目录和文件 hadoop fs -ls /dir hadoop fs -ls -R ...
- Hadoop Shell命令(基于linux操作系统上传下载文件到hdfs文件系统基本命令学习)
Apache-->hadoop的官网文档命令学习:http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html FS Shell 调用文件系统( ...
- Hadoop HDFS分布式文件系统设计要点与架构(转摘)
Hadoop简介:一个分布式系统基础架构,由Apache基金会开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力高速运算和存储.Hadoop实现了一个分布式文件系统(Ha ...
- HDFS常用文件操作
put 上传文件 hadoop fs -put wordcount.txt /data/wordcount/ text 查看文件内容 hadoop fs -text /output/wo ...
- 解决HDFS小文件带来的计算问题
hive优化 一.小文件简述 1.1. HDFS上什么是小文件? HDFS存储文件时的最小单元叫做Block,Hadoop1.x时期Block大小为64MB,Hadoop2.x时期Block大小为12 ...
随机推荐
- Linux内核模块管理命令
1.insmod命令 在Linux系统下,insmod命令用于将给定的模块加载到内核中去,Linux系统有许多功能是通过模块的方式,在需要时才载入kernel,这样做可以使kernel较为精简,进而提 ...
- unity延迟加载图片
把加载图片所需要的信息封装成一个任务(自己写的类,包括路径,回调等信息),再将该任务添加到自己写的任务池中(在update中执行任务委托),由于只是添加任务操作,加载完成后自动调用回调函数实例化,对主 ...
- sublime text 开发记录贴
1.展示信息有两种: self.view.show_popup('hello'), 这个好看点. sublime.status_message('ssss') sublime.error_mes ...
- C库函数strstr分析
C标准库<string.h> 函数声明: char* strstr(char* const _String, char const* const _SubString) 返回值: SubS ...
- (一)pdf的数据类型
引自:https://blog.csdn.net/steve_cui/article/details/81912528 pdf的数据类型主要由8种 boolean(布尔型) :关键字为“ ...
- 如何解决Requests的SSLError(转)
add by zhj: 我使用方法2“更新系统的certificate”解决了问题 原文:https://www.jianshu.com/p/8deb13738d2c 这两天在Linux上爬Googl ...
- Java数组转集合与集合转数组的坑
在Java中将数组转为集合,会用到Arrays.asList()的方法,然而,这个方法却与我们的预期期望存在一些出入,当用到asList方法将数组转化成List列表时,对得到的List列表进行add( ...
- java 枚举示例
public enum YNEnum { N(0,"否"), Y(1,"是"); private int code; private String name; ...
- java 泛型和object比较
引言 我们使用object和泛型做形参,都是为了让这个方法能接收更多类型的对象,让程序变得更健壮,代码复用率更高.当我们回看自己写的代码时会发现,好像使用泛型的地方使用object也可以,使用obje ...
- 【转载】 C#中ArrayList集合类的使用
在C#的集合操作过程中,我们一般常用的集合类为List集合,List集合是一种强类型的泛型集合,其实还有一个ArrayList集合类,ArrayList集合类则非泛型类的集合,并且ArrayList集 ...