前言
前不久时间,Apache Hadoop发布了新的基线版本-Hadoop 3.0.0正式发布,过去一段时间我们看到的发布版本都是各种3.0 alpha,beta版本。此次Hadoop 3.0正式发布,具有非常重大的意义。在此次Hadoop 3.0版本中的HDFS模块,除了EC(纠删码)外,还有一个Feature特性也值得我们关注–RBF(Router-based Federation,基于路由的Federation方案)。用一句简单的话来介绍这个Feature:HDFS将路由信息放在了服务端来处理,而不是在客户端。以此完全做到对于客户端的透明。不过本文,笔者不是介绍RBF特性的,这部分内容博友们可以参考阅读笔者之前几篇相关的文章。本文将要阐述的内容是笔者最近在设计的基于RBF至少上的全局配额(Quota)管理、我们都知道,在单一的HDFS集群内,是可以支持针对目录设置配额值的,以此来管理每个目录下的文件数或是空间使用量。但是如果我们使用的集群是一个federation方式的集群呢?这个我们怎么操作?本节笔者就来聊聊这个话题。
Federation模式下全局配额管理的意义
在单一的HDFS集群内,笔者相信很多公司为了规范各个业务方对于集群的正确使用,一般会给每个业务方一个专有的目录路径并设定quota值,包括命名空间值和存储空间值。这在一定程度上是进行了有效管理。
但是当随着业务规模扩张,很多时候单一集群是很难以满足所有的应用场景的。此时,就会出现多集群的情况,但是我们又想将这些集群统一管理起来,就会以federation的方式提供给外部用户使用。此时用户看到的尽管说还是一个集群