hadoop Federation联邦机制介绍

前面的博客介绍了HDFS HA的实现方式,HA主要解决了"单点故障"的问题,但是在系统扩展性、整体性能和隔离性方面仍然存在问题。

(1)   系统扩展性方面,元数据存储在NN内存中,会受到NN内存上限的制约。

(2)   整体性能方面,吞吐量受单个NN的影响。

(3)   隔离性方面,一个程序可能会影响其他运行的程序,如一个程序消耗过多资源导致其他程序无法顺利运行。HDFS HA本质上还是单名称节点。

HDFS联邦可以很好的解决以上三个方面问题。

      在HDFS联邦中,设计了多个相互独立的NN,使得HDFS的命名服务能够水平扩展,这些NN分别进行各自命名空间和块的管理,不需要彼此协调。每个DN要向集群中所有的NN注册,并周期性的发送心跳信息和块信息,报告自己的状态。

      HDFS联邦拥有多个独立的命名空间,其中,每一个命名空间管理属于自己的一组块,这些属于同一个命名空间的块组成一个“块池”。每个DN会为多个块池提供块的存储,块池中的各个块实际上是存储在不同DN中的。
      hadoop Federation联邦机制介绍_第1张图片

官网介绍:

      NameNode在内存中保存文件系统中每个文件和每个数据块的引用关系,这意味着对于一个拥有大量文件的超大集群来说,内存将成为限制系统横向扩展的瓶颈,在2版本中引入的联邦HDFS允许通过添加NameNode实现扩展,其中每个NameNode管理文件系统命名空间中的一部分。例如:一个NameNode可以管理/user目录下的所有文件,而另一个NameNode可能管理/share目录下的所有文件。

   在联邦环境下,每个NameNode维护一个命名空间卷,由命名空间的元数据和一个数据块池组成,数据块池包含该命名空间下文件的所有数据块。命名空间卷之间是相互独立的,两两之间并不相互通信,甚至其中一个NameNode的失效也不会影响其他NameNode维护的命名空间的可用性。数据块池不在进行切分,因此集群中的datanode需要注册到每个NameNode,并且存储着来自多个数据块池中的数据块。

 

------------------------------------------------------------------------------------------------------------------------------------------

      用人品去感动别人,用改变去影响别人,用状态去燃烧别人,用行动去带动别人,用阳光去照耀别人,用坚持去赢得别人,要求自己每天都去做与目标有关的事情,哪怕每天只进步一点点,坚持下来你就是最优秀卓越的!欢迎大家加入大数据交流群:725967421     一起交流,一起进步!!

-----------------------------------------------------------------------------------------------------------------------------------------
 

 

你可能感兴趣的:(hadoop篇)