Facebook 使用 Corona 提升 Hadoop 的可伸缩性

  • Roopesh Shenoy
  • 潘志明

2012 年 11 月 21 日

话题:Facebook语言 & 开发架构

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)关注我们,并与我们的编辑和其他读者朋友交流。

Facebook语言 & 开发架构