Hadoop在Facebook的应用

机器学习 3851 Views

(点击查看大图)图3-7 数据归档

表3-1 BackupNode和AvatarNode的区别

基于位置的调度策略在实际应用中存在着一些问题:如需要高内存的任务可能会被分配给拥有低内存的TaskTracker;CPU资源有时未被充分利 用;为不同硬件的TaskTracker进行配置也比较困难等。Facebook采用基于资源的调度策略,即公平享有调度方法,实时监测系统并收集CPU 和内存的使用情况,调度器会分析实时的内存消耗情况,然后在任务之间公平分配任务的内存使用量。它通过读取/proc/目录解析进程树,并收集进程树上所 有的CPU和内存的使用信息,然后通过TaskCounters在心跳(heartbeat)时发送信息。

Facebook的数据仓库使用Hive,其构架如图3-8所示,有关Hive查询语言的相关知识可查阅第11章的内容。这里HDFS支持三种文件 格式:文本文件(TextFile),方便其他应用程序读写;顺序文件(SequenceFile),只有Hadoop能够读取并支持分块压 缩;RCFile,使用顺序文件基于块的存储方式,每个块按列存储,这样有较好的压缩率和查询性能。Facebook未来会在Hive上进行改进,以支持 索引、视图、子查询等新功能。

(点击查看大图)图3-8  Hive的体系结构

现在Facebook使用Hadoop遇到的挑战有:

服务质量和隔离性方面,较大的任务会影响集群性能;

安全性方面,如果软件漏洞导致NameNode事务日志崩溃该如何处理;

数据归档方面,如何选择归档数据,以及数据如何归档;

性能提升方面,如何有效地解决瓶颈等。

From : thebigdata

如未说明则本站原创,转载请注明出处:NULL » Hadoop在Facebook的应用