前言:Hadoop2.0中的联邦机制

出现原因

元数据存储在NameNode的内存中,因此集群规模受限于单个NameNode的内存大小。HDFS联邦(Federation)提供了一种解决单组名称节点(NameNode)局限性问题的水平扩展方案

概念

Federation是指HDFS集群可使用多个独立的NameSpace(命名空间,由NameNode节点管理,有ANN和SNN)来满足HDFS命名空间的水平扩展,这些命名空间彼此隔离,但共享所有DataNode的存储资源,协同存储DataNode的元数据(用BlockPoolId区分)

hadoop 何时要启用联邦 hadoop联邦机制_集群管理

HDFS联邦使用多组名称节点和名称空间(NameSpaces),所有的名称节点相互独立,构成联邦,各自分工独立管理自己的区域,无需互相协调。

HDFS联邦架构与单组名称节点架构设计的不同:

(1)HDFS联邦架构在集群中由多组名称节点(NameNode)同时对外提供服务。

(2)名称空间(NameSpace)也被水平拆分为多个独立部分,分别由彼此之间相互隔离的名称节点来管理

数据节点(Datanode)共享集群中所有的数据存储资源。

联邦机制的优点

(1)HDFS集群扩展性。每个NameNode分管一部分Namespace,相当于Namenode是一个分布式的。

(2)性能更高效。多个NameNode同时对外提供服务,提供更高的读写吞吐率。

(3)良好的隔离性。用户可根据需要将不同业务数据交由不同NameNode管理,这样不同业务之间影响很小。

(4)Federation良好的向后兼容性,已有的单Namenode的部署配置不需要任何改变就可以继续工作。

联邦架构的局限性

(1)交叉访问问题。由于多个命令空间的存在,它们相互独立,如果一个操作要访问多个文件路径,需要交叉访问多个名称空间,产生交叉访问题。

(2)集群管理性问题。启用联邦机制后,过去的一些HDFS管理命令,如“hdfsdfsadmin、hdfsfsck”等无法使用,给集群管理员的日常集群管理带来一定麻烦。

admin、hdfsfsck”等无法使用,给集群管理员的日常集群管理带来一定麻烦。