Facebook 已经开源了Corona ,这是一款内部开发的用以改善Hadoop MapReduce 调度的软件。
Corona 将集群管理和作业跟踪这两个关键任务分开。这与 Apache YARN 在概念上不谋而合,YARN 也是 MapReduce 调度器和资源管理器的一个改进版本。Facebook 的工程团队发表了一篇文章来解释 Corna 及其背景。他们同时也解释了为什么没有采用 YARN——
“值得注意的是,我们曾经考虑过将 Apache YARN 作为 Corona 的一种替代方案。然而,在调研了 YARN 在我们的 HDFS 版本(由于我们海量的 PB 级数据存储而产生的强烈需求)上的使用情况后,我们发现了很多不兼容问题,修复的时间成本过高,而且存在风险。此外,YARN 能否适应 Facebook 规模的负载也是个未知数。”
Facebook 的 Hadoop 版本一个主要不同是 AvatarNode ,它会为集群中的每个结点创建一个热备份。这就创建了高可用的 NameNode ,甚至允许非停机条件下进行软件升级。Facebook 的数据仓库当前需要处理成百上千 PB 数据,而且每天还要新增 0.5PB ,这对他们是非常关键的。
Corona 当前能够运行 MapReduce 作业,但 Facebook 打算将其用于来自其他类型应用(比如 Peregrine )的调度作业。
Apache Hadoop 是一组支持大规模分布式计算的项目集。读者可以参考 InfoQ 上的 Hadoop 相关资源。
查看英文原文: Corona Improves Hadoop Scalability At Facebook
感谢臧秀涛对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论