HDFS Federation

本文详细介绍了Hadoop2.0中的HDFSFederation如何通过利用共享存储在两个NameNode间同步edits信息,解决单个NameNode架构带来的性能瓶颈和扩展性问题。通过在NameNode内部进行每次元数据变动后的flush操作,并结合NFS的close-to-open机制,确保了数据一致性的同时,实现了集群的高可用性和性能提升。

      单个NameNode的架构使得HDFS在集群扩展性和性能上都有潜在的问题,当集群大到一定程度后,NameNode进程使用内存就回显得力不从心。而且,所有的元数据信息的读取和操作都需要与NameNode进行通信,如客户端的addBlock、getBlockLocations,还有DataNode的blockRecieved、sendHeartbeat、blockReport等操作。在集群规模变大后,NameNode成为了性能的瓶颈。
    令人兴奋的是, Hadoop 2.0里的HDFS Federation是上述问题迎刃而解。下面将重点介绍HDFS Federation。

       

 

         利用共享存储来在两个NameNode间同步edits信息。以前的HDFS是share nothing but NameNode,现在NameNode又share storage,这样其实是转移了单点故障的位置,但中高端的存储设备内部都有各种RAID以及冗余硬件包括电源以及网卡等,比服务器的可靠性还是略有提高。通过NameNode内部每次元数据变动后的flush操作,加上NFS的close-to-open,数据的一致性得到了保证。

   用于监视和控制NameNode进程的FailoverController进程显然,我们不能在NameNode进程内进行心跳等信息同步,最简单的原因,一次FullGC就可以让NameNode挂起十几分钟。目前版本里是用ZooKeeper来做同步锁。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值