HDFS的局限性(HDFS只有一个active的namenode):
1. 在name中存储所有的元数据(metadata),因此单个namenode所能存储的对象(块+文件)数据受到namenode所在JVM的heap size的限制。
2. 整个HDFS文件系统的吞吐量受限于单个namenode的吞吐量
3. 无法隔离namespace
Federation HDFS 与 HDFS的区别
HDFS只有一个name space, 它使用全部的块。 而Federation HDFS 中有多个独立的namespace,每个命名空间使用一个block Pool
Bolck Pool : 维护单个命名空间的所有block。Data node是一个物理概念,而block pool是一个重新将block划分的逻辑概念。同一个DataNode可以存储 着属于多个blocknode的多个块。block允许一个命名空间在不通知其它命名空间的情况下为一个新的block创建blockID。同时,一个namenode失效不会影响旗下的DataNode为其它namenode服务。
Federation HDFS 架构图
Federation HDFS HA架构图
其中 NN1 NN3 属于同一个namenode, NN2 NN4 属于同一个namenode
参考:
http://www.jikexueyuan.com/course/2570.html