【HDFS Quotas(2.2+)】
HDFS允许管理员对各个目录设定文件的个数(name quotas)或者空间使用(space quotas)总量。其中“name quotas”和“space quotas”可以分别设定。
一、Name Quotas
Name Quota是一个硬性限制,用来控制目录下文件或者子目录的个数。如果超过了设定的quota,那么创建文件或者目录将会失败。目录重命名不会改变原有的quotas,如果操作导致违法Quota,rename操作将会失败。尝试对目录设定quota将会成功,即使现有的目录和文件个数已经违反了Quota设定。一个新建的目录没有任何Quotas限制(quota = none)。Quota最大值为Long.MAX_VALUE,如果Quota为1,那么将强制此目录为空,此下不能创建任何文件或者子目录(目录将自己也作为一个quota)。
Quotas将会持久保存在fsimage中(namespace中)。在Namenode启动时,如果fsiamge违反了quota(或许fsimage被偷偷的修改了),那么将会对每个违法Quota的name打印warning。其中设定或者清除Quotas将会被记录在journal中(Editlog)。
二、Space Quotas
Space Quota是一个硬性的限制,用来控制每个目录下文件占用的磁盘空间总量。如果Space quota不允许一个block写入目录,那么block分配将会失败。目录重命名不会改变原有的Quotas,如果rename导致违法Quotas将会导致操作失败。一个新建的目录没有Quotas限制。Quota最大值为Long.MAX_VALUE。如果此值为0,允许创建文件,但是任何此文件将不能添加任何blocks(即只能创建空文件)。目录,不消耗本地文件系统的空间(它只不过是namespace标记),因此不计入space Quota。存储metadata的文件也不会计入Quota。文件的replication factor也会占用quota,修改一个文件的replication factor会改变相应目录下Quota的空间(Quota结余或者超限)。
同上,Space Quotas也会持久保存在fsiamge中。
三、管理指令
1、查看文件目录的Quota:
“hdfs dfs -count -q <directory>”。
1、设定Name Quota:默认目录没有任何Quota。
“hdfs dfsadmin -setQuota <num> <directory>”
2、清楚Quota,此后目录的quota为“none”(无限制)
“hdfs dfsadmin -clrQuota <directory>”
3、设定Space Quota:限定目录下文件存储的空间。
“hdfs dfsadmin -setSpaceQuota <num> <directory>”,单位:字节。这个是一个硬性的设定,控制目录树下所有文件的总尺寸。replication也会计算在内,比如1G的文件,如果有3个replication,那么它消耗的Quota为3G。其中“num”的值后可以跟上“g”、“t”单位名称。
4、清除Space Quota:
“hdfs dfsadmin -clrSpaceQuota <directory>”
相关推荐
hdfs源码分析整理 在分布式文件系统中,HDFS(Hadoop Distributed File System)扮演着核心角色,而HDFS的源码分析则是深入了解HDFS架构和实现机理的关键。本文将对HDFS源码进行详细的分析和整理,涵盖了HDFS的目录...
尽管官方已经停止更新此软件,但它仍然是许多Hadoop用户在Windows环境下管理HDFS的实用工具。 ### 下载与安装 HDFS Explorer的下载链接已过期,但通常可以从开源社区或者历史版本库中找到旧版本的下载资源。在本例...
HDFS是Hadoop分布式计算的存储基础。HDFS具有高容错性,可以部署在通用硬件设备上,适合数据密集型应用,并且提供对数据读写的高吞 吐量。HDFS能 够提供对数据的可扩展访问,通过简单地往集群里添加节点就可以解决...
在大数据处理领域,Hadoop HDFS(Hadoop Distributed File System)是核心组件之一,它为大规模数据存储提供了可扩展、高容错性的解决方案。本高级教程将深入剖析HDFS的内部机制,帮助读者掌握其核心概念和实际操作...
Hadoop分布式文件系统(HDFS)是Apache Hadoop项目的核心组件之一,它为大数据处理提供了可靠的、可扩展的分布式存储解决方案。在这个“HDFS实例基本操作”中,我们将深入探讨如何在已经安装好的HDFS环境中执行基本...
HDFS 文件系统基本文件命令、编程读写 HDFS HDFS(Hadoop Distributed File System)是一种分布式文件系统,用于存储和管理大规模数据。它是 Hadoop 云计算平台的核心组件之一,提供了高效、可靠、可扩展的数据存储...
Hadoop是Apache基金会开发的一个开源分布式存储与计算框架,它的核心组件之一HDFS(Hadoop Distributed File System)是一个高容错性的分布式文件系统,适合在廉价的硬件上运行。HDFS的设计目标是能够存储和处理非常...
【HDFS 透明加密KMS】是Hadoop分布式文件系统(HDFS)提供的一种安全特性,用于保护存储在HDFS中的数据,确保数据在传输和存储时的安全性。HDFS透明加密通过端到端的方式实现了数据的加密和解密,无需修改用户的应用...
### 大数据实验二-HDFS编程实践 #### 实验内容概览 本次实验的主要目标是通过对HDFS(Hadoop Distributed File System)的操作实践,加深学生对HDFS在Hadoop架构中的作用及其基本操作的理解。实验内容包括两大部分...
在大数据技术领域,Hadoop 分布式文件系统(HDFS)是核心组件之一,它为大规模数据存储提供了可扩展和高容错性的解决方案。本实验报告主要关注HDFS的常用操作命令,这些命令是管理员和数据分析师日常工作中不可或缺...
hdfs文件的查看 hdfs fs -cat /文件名
【标题】"hdfs-over-ftp安装包及说明"涉及的核心技术是将FTP(File Transfer Protocol)服务与HDFS(Hadoop Distributed File System)相结合,允许用户通过FTP协议访问和操作HDFS上的数据。这个标题暗示了我们将在...
HDFS Java API 详解 HDFS(Hadoop Distributed File System)是 Hadoop 项目中的一部分,是一个分布式文件系统。HDFS Java API 是一组 Java 类库,提供了一组接口来操作 HDFS。下面我们将对 HDFS Java API 进行详细...
HDFS基本命令 HDFS(Hadoop Distributed File System)是一种分布式文件系统,提供了对大规模数据的存储和管理能力。在HDFS中,基本命令是最基础也是最常用的命令,掌握这些命令是使用HDFS的基础。本节我们将详细...
Hadoop 分布式文件系统 (HDFS)是一个设计为用在普通硬件设备上的分布式文件系统。它与现有的分布式文件系统有很多近似的地方,但又和这些文件系统有很明显的不同。HDFS是高容错的,设计为部署在廉价硬件上的。HDFS对...
第1章 HDFS 1 1.1 HDFS概述 1 1.1.1 HDFS体系结构 1 1.1.2 HDFS基本概念 2 1.2 HDFS通信协议 4 1.2.1 Hadoop RPC接口 4 1.2.2 流式接口 20 1.3 HDFS主要流程 22 1.3.1 HDFS客户端读流程 22 1.3.2 ...
在大数据处理领域,Hadoop HDFS(Hadoop Distributed File System)是核心组件之一,它提供了分布式存储的能力。本文将深入探讨HDFS的一些基本命令,帮助用户更好地管理和操作HDFS中的数据。 1. `appendToFile`命令...
Hadoop分布式文件系统(HDFS)就是一种典型的分布式存储系统,它是Hadoop项目的核心组件之一,适用于大规模数据集的存储。 HDFS的设计理念是以高容错性为目标,它假定硬件故障是常态而不是异常。因此,HDFS会自动地...
Hadoop分布式文件系统(HDFS)是为处理大规模数据集而设计的一种高容错性的分布式存储系统。HDFS源于Apache Nutch项目,是Hadoop项目的一部分,旨在支持高吞吐量的数据访问,适用于大规模批量处理任务,而非常规的...