Hadoop FsImage中DSQUOTA和NSQUOTA列的含义是啥?

Posted

技术标签:

【中文标题】Hadoop FsImage中DSQUOTA和NSQUOTA列的含义是啥?【英文标题】:What is the meaning of DSQUOTA and NSQUOTA columns in Hadoop FsImage?Hadoop FsImage中DSQUOTA和NSQUOTA列的含义是什么? 【发布时间】:2018-11-03 15:26:28 【问题描述】:

我使用OIV 工具转储了 fsimage,并且 NSQUOTA 和 DSQUOTA 字段始终具有以下值之一

NSQUOTA

1 空 -1 0

DSQUOTA

-1 0

NSQUOTA 和 DSQUOTA 代表什么?如何解释这些值?

【问题讨论】:

【参考方案1】:

NSQUOTA 是一个名称配额(类似于 inode),它限制指定目录下允许有多少文件和目录。

DSQUOTA 是一个目录空间配额,用于限制该目录下允许的字节数。

不确定其他值,但-1 是您不使用配额时的默认值。

参考文献

HDFS Quotas Guide - v2.8.0

【讨论】:

对于 DSQUOTA,文档说“零配额仍允许创建文件,但不能向文件添加块。”知道为什么可以创建文件但不能添加块吗? 我想如果你想允许创建一个目录结构,你可以使用它。我想当雅虎!设计这个时,他们结合了许多来自运行 NFS 的共享 UNIX/Linux 环境的想法,这在 2007-2009 年很常见。最早的文档中有同一行。 hadoop.apache.org/docs/r0.23.11/hadoop-project-dist/hadoop-hdfs/…

以上是关于Hadoop FsImage中DSQUOTA和NSQUOTA列的含义是啥?的主要内容,如果未能解决你的问题,请参考以下文章

Hadoop - HDFS Namenode 元数据 - FSImage

Hadoop-2.4.1学习之edits和fsimage查看器

Hadoop 查看Fsimage和Edits文件 命令

hadoop namenpde机制

大数据源码Hadoop源码解读 Namenode 启动加载FsImage的过程

hadoop-hdfs-fsimage与edits合并