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 ...
随机推荐
- Alpha冲刺——总结篇
课程信息 课程 软件工程1916|W(福州大学) 团队名称 修!咻咻! 作业要求 项目Alpha冲刺 团队目标 切实可行的计算机协会维修预约平台 团队信息 队员学号 队员姓名 个人博客地址 备注 22 ...
- Python 3.X 练习集100题 04
输入某年某月某日,判断这一天是这一年的第几天? 方法1: import time test_time = input("请输入日期(年-月-日):") time_struct = ...
- PostgreSQL中的Toast Pointer
1.分析背景 在使用数据库的过程中(PG的版本为9.2),遇到了错误"missing chunk number 0 for toast value XX in pg_toast_2619&q ...
- 2014百度之星 Party
Party Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- Github 上的个人项目开源心得
原文链接 https://elfgzp.cn/2019/12/09/gortal-site-project 由于最近在 Github 发了一个个人开源项目 - 「gortal」一个使用 Go 语言开发 ...
- docker搭建etcd集群环境
其实关于集群网上说的方案已经很多了,尤其是官网,只是这里我个人只有一个虚拟机,在开发环境下建议用docker-compose来搭建etcd集群. 1.拉取etcd镜像 docker pull quay ...
- 【spring boot】【redis】spring boot基于redis的LUA脚本 实现分布式锁
spring boot基于redis的LUA脚本 实现分布式锁[都是基于redis单点下] 一.spring boot 1.5.X 基于redis 的 lua脚本实现分布式锁 1.pom.xml &l ...
- 基于Dapper的开源LINQ扩展,且支持分库分表自动生成实体二
LnskyDB LnskyDB是基于Dapper的Lambda扩展,支持按时间分库分表,也可以自定义分库分表方法.而且可以T4生成实体类免去手写实体类的烦恼. 文档地址: https://lining ...
- 网络编程中用到的SOCKET是什么?
摘取网络上的一些内容: 什么是TCP/IP.UDP? Socket在哪里呢? Socket是什么呢? 什么是TCP/IP.UDP? TCP/IP(Transmission Control Protoc ...
- JQuery入门篇
JQuery入门篇 jQuery选择器 “$”表示JQuery对象 根据ID查找 $(‘#var’)表示将一个id值为var的DOM节点封装成一个jQuery对象,DOM节点必须以“#”开头. 例如: ...