Facebook开源Corona,Hadoop作业调度管理系统

Facebook近日开源了Corona,这是Facebook用来调度和管理大规模Hadoop作业的系统。

Corona是Map-Reduce的改进版本,可以更好地利用集群资源,更适合Facebook的“多租户(Multi-Tenant)”环境。

在Facebook,Map-Reduce有一个单一的作业跟踪器(JobTracker),用来管理集群资源和跟踪每个作业的状态。而使用Corona,集群资源通过一个中央集群管理器来跟踪,每个作业都有自己的跟踪器,这些跟踪器只需跟踪一个作业。

Corona在Map-Reduce的基础上进行了如下改进:

  • 可扩展性:单独的Corona JobTrackers来负责任务的跟踪,这为作业的数量和规模提供了更好的扩展性。
  • 延迟:任务调度工作在push模型中。Corona Job Tracker推送资源请求到Cluster Manager,然后在收到Cluster Manager的许可后,推送任务到Corona Task Tracker。这种调度决策是在收到heartbeats时发生,对于小的作业来说,heartbeat模型相关的延迟就变得重要。
  • 与Map-Reduce v1相比,Corona中的Fair Scheduler能更好地分配资源到资源池中。
  • 由于调度开销较低,集群可以得到更好的利用。

项目地址https://github.com/facebook/hadoop-20/tree/master/src/contrib/corona

  1. da shang
    donate-alipay
               donate-weixin weixinpay

发表评论↓↓