HDFS配额

简介:

标签: 大数据 HDFS


[toc]


原文:http://hadoop.apache.org/docs/r2.6.4/hadoop-project-dist/hadoop-hdfs/HdfsQuotaAdminGuide.html

概述

HDFS允许管理员为独立的目录使用的名字数和空间大小设置quota配额。名字配额和空间配额操作互相独立,但是两类quota的管理和实现是紧密并行的。

名字配额

名字配额是对目录树中文件和目录的名字数目的严格限制。如果超出配额,那么创建文件和目录都将失败。配额与重命名目录绑定;重命名操作会失败,因为可能会导致配额冲突。但是设置quota仍旧可以成功,就算目录处于冲突状态。一个新建的目录没有关联的quota。quota的最大值是Long.Max_Value。 如果一个quota设置为1则强制目录保持空目录。(目录自己占用一个配额)

配额是随着fsimage一起持久存储的。启动时,如果fsimage遇到了quota的冲突(可能是fsimage被私自修改),那么每条冲突都会打印出一条警告信息。设置或者移除一个quota都会创建一条日志项。

空间配额

空间配额是目录树种文件使用最大字节数的严格限制。如果配额超限,block分配会失败。block的每个副本都计算quota。配额与重命名目录绑定;重命名操作会失败,因为可能会导致配额冲突。一个新建的目录没有关联的quota。quota的最大值是Long.Max_Value。一个设置为0的quota允许创建文件,但是创建的文件无法分配block。目录不占用主机文件系统空间,也不计入空间配额。主机文件系统空间用来存储文件元数据的部分也不计入空间配额。配额按照文件的复制因子来计算消耗;改变一个文件的复制因子,会导致quota配额的消耗。

配额是随着fsimage一起持久存储的。启动时,如果fsimage遇到了quota的冲突(可能是fsimage被私自修改),那么每条冲突都会打印出一条警告信息。设置或者移除一个quota都会创建一条日志项。

管理命令

配额通过一系列命令来管理,这些命令只能由管理员来提供。

  • dfsadmin -setQuota <N> <directory>...<directory>
    为每个目录设置名字配额为N。如果N不是一个正值,或者目录不存在或是个文件,或者目录超出新的quota,都会报错。
  • dfsadmin -clrQuota <directory>...<directory>
    移除每个目录的名字配额。如果目录不存在或是一个文件,会报错。如果一个目录没有quota,那么不会报错。
  • dfsadmin -setSpaceQuota <N> <directory>...<directory>
    为每个目录设置空间配额。这是目录树下所有文件的总大小的严格限制。空间配额对于副本的大小也计入配额消耗,比如一份1GB的数据有3个副本,那么消耗3GB的配额。为了方便,N可以声明一个前缀,比如50g就是50个GB,2t就是2个TB等。如果N是负数或者目录不存在或它是个文件,或者目录超出新的quota,都会报错。
  • dfsadmin -clrSpaceQuota <directory>...<director>
    移除每个目录的空间配额。如果目录不存在或是一个文件,会报错。如果一个目录没有quota,那么不会报错。

报告命令

HDFS shell count命令的扩展,会报告quota值和当前使用了的名字和字节的count。

  • fs -count -q <directory>...<directory>
    -q选项也会报告每个目录的名字配额值,可用的剩余名字配额,空间配额值,可用的剩余空间配额。如果目录不包含quota设置,汇报的值是none和inf。
目录
相关文章
|
6月前
|
分布式计算 Hadoop Linux
HDFS权限
HDFS权限
54 0
|
5月前
|
存储 固态存储 文件存储
[hadoop3.x]HDFS存储类型和存储策略(五)概述
[hadoop3.x]HDFS存储类型和存储策略(五)概述
71 1
|
6月前
|
存储 JSON 分布式计算
HDFS教程(05)- HDFS磁盘均衡
HDFS教程(05)- HDFS磁盘均衡
87 0
|
存储 分布式计算 Hadoop
快速搭建HDFS集群
快速搭建HDFS集群
221 0
快速搭建HDFS集群
|
存储 分布式计算 Hadoop
HDFS的角色讲解
HDFS的角色讲解
148 0
HDFS的角色讲解
|
存储 分布式计算 Hadoop
Hadoop用户重新部署HDFS
在这篇文章中https://www.jianshu.com/p/eeae2f37a48c 我们使用的是root用户来部署的,在生产环境中,一般某个组件是由某个用户来启动的,本篇文章介绍下怎样用hadoop用户来重新部署伪分布式(HDFS)
134 0
|
弹性计算 分布式计算 Hadoop
迁移开源HDFS数据到文件存储HDFS版
本文档介绍如何将开源HDFS的数据平滑地迁移到文件存储HDFS版。
347 0
|
SQL 分布式计算 资源调度
在文件存储HDFS版上使用 CDH6
本文档介绍如何将CDH6中本地HDFS数据迁移到文件存储HDFS版,并配置CDH上的HDFS服务、Hive服务、Spark服务、HBase服务使用文件存储HDFS版,实现存储计算分离。
398 0
|
SQL 分布式计算 资源调度
在文件存储HDFS版上使用 Apache Tez
本文档主要介绍在挂载文件存储HDFS版的 Hadoop 集群上安装及使用 Tez。
357 0