HDFS Federation

      单个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来做同步锁。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值