机房360首页
当前位置:首页 » 分析 » Facebook开发HDFS和HBase新进展

Facebook开发HDFS和HBase新进展

来源:机房360 作者:yayo编辑 更新时间:2012/12/2 18:55:21

摘要:在12月1日“Hadoop生态系统”主题分论坛,Facebook数据基础架构团队软件工程师董思颖详细介绍了Facebook的NameNode和DataNode之间如何来实现数据增量,他以“人口普查-出生报告-死亡报告”来形象地描绘二者之间“完全报告+增量”的过程。

  中国IT界技术盛会——Hadoop与大数据技术大会(Hadoop&BigData Technology Conference 2012,HBTC 2012)于2012年11月30日-12月1日在北京新云南皇冠假日酒店隆重召开。本次大会以“大数据共享与开放技术”为主题,聚焦于Hadoop与大 数据,力邀数十位国内外Hadoop及大数据技术应用的产学界人士和实践企业,探讨大数据技术生态系统的现状和发展趋势,并围绕Hadoop与大数据热点 技术和应用实践进行深入解析。

  


 

  Facebook数据基础架构团队软件工程师 董思颖

  在12月1日“Hadoop生态系统”主题分论坛,Facebook数据基础架构团队软件工程师董思颖详细介绍了Facebook的NameNode和DataNode之间如何来实现数据增量,他以“人口普查-出生报告-死亡报告”来形象地描绘二者之间“完全报告+增量”的过程。而针对困扰业内的“如何实现NameNode不停机升级”这一问题,提供了Facebook的实现方法。

  过去一年,Facebook对HDFS和HBase的开发有了一些新进展。在Facebook看来,HDFS和HBase是一个非常重要的基础设施,可以被用在各种不同的产品上。

  Facebook的HDFS规划

  如今,Facebook对HDFS及Hbase的使用有了更多的更新,从数据仓库到实时随机读写再到实时连续读写。而所有的基础是我HDFS。其中数据仓库包含Peregrine、MapReduce、Hive、Job Scheduling Tool、Web工具等;实时随机读写包含HBase、Facebook消息、监控工具、PUMA等;实时连续读写包含Scribe。

  随着需求的深入,HBase从数据仓库应用到目前是实时更新有了一个跨越,需要更新、更上一个档次的稳定性以及性能的标准来应对更多的应用,所以对于HDFS的要求更为严苛。

  现在看,HDFS还有很长的路在走。但Facebook一直在做各种改进,帮助HDFS成为一个更通用的、更稳定的数据平台。

  这些改进可以在这些地方看到:1.Hadoop:https://github.com/facebook/hadoop-20;2.Hadoop稳定版:https://github.com/facebook/hadoop-20/tree/production;3.HBase:https://github.com/apache/hbase/tree/0.89-fb

  从数据仓库、HBase、Scribe和数据备份和恢复几个维度来看,有NameNode不停机升级,NameNode自动故障转移,文件数量多,数据容量大,文件客户端永久存在,大量随机读,节省存储空间,减少高延迟读写,DataNode存储大量Block,隔离不同应用和远程客户端等。而这些方面都有可能成为研发点,HDFS对更广阔空间有更大的改进,进而成为HDFS的新特性。

  以HDFS Scalability为例,Facebook的数据仓库是容量越来越大,遇到的挑战是HDFS能不能装下越来越多的文件和数据,以及越来越密度更大的服务器。那么,如何使用密度更高的机器,存储更多的数据和更多的文件?先要看下Federation,HDFS有两种节点,NameNode是“大哥”,DataNode是“小弟”,要不停地向NameNode“汇报”, Federation就表示每一个“小弟”不仅向一个“大哥”汇报,而且每个“大哥”的话都要听。Federation面临的问题是怎么样在部署新的NameNode时将旧有已经负载过量的NameNode的数据匀到新的NameNode中。这就是FastCopy,可以在不同NameNode之间移动文件。

  其想法是在DataNode的层次中使得逻辑上的数据产生一个新的复制,但实际上并不需要新的读写。Facebook的优势在于:以HIVE为主导的数据仓库,所有的数据位置都是在HIVE中保存,所以只要把HIVE的路径移到新的NameNode中一切就完成了。比如,现在HIVE表格包括了若干文件,可以一个一个地移动。

  所以对于NameNode与DataNode的增量数据中,可以通过完全报告+增量的模式来实现。董思颖以“人口普查-出生报告-死亡报告”来形象地描绘二者之间“完全报告+增量”的过程。此外,针对如何实现NameNode不停机升级”这一问题,董思颖认为NameNode升级是造成服务不可用的首要原因,所以解决升级就可以彻底解决这一问题。

  这其中,有两个问题要解决:如何验证正确性和暂停时间用在哪里。前者要确认Transaction ID,并确认Block数量;后者等待主NameNode退出,副NameNode读取剩余记录及副NameNode等待Block报告。

  在更新列表上,还有HDFS节省存储空间,HDFS性能和可靠性,改进容错、Hadoop RPC优化等。具体可以参考董思颖的PPT。最后,董思颖向所有与会者表示,Facebook非常欢迎优秀的工程师能够来美国工作,如果有朋友有意愿,可以与他联系。

  责任编辑:yayo

机房360微信公众号订阅
扫一扫,订阅更多数据中心资讯

本文地址:http://www.jifang360.com/news/2012122/n147942736.html 网友评论: 阅读次数:
版权声明:凡本站原创文章,未经授权,禁止转载,否则追究法律责任。
转载声明:凡注明来源的文章其内容和图片均为网上转载,非商业用途,如有侵权请告知,会删除。
相关评论
正在加载评论列表...
评论表单加载中...
  • 我要分享
推荐图片