在Corona中,ClusterManager负责整个集群的资源管理,包括:(1)维护各个节点的资源使用情况,(2)将各个节点中的资源按照一定的约束分配(比如每个pool使用的资源不能超过其上线,任务分配时应考虑负载均衡等)给各个应用程序。本文介绍了ClusterManager实现。

CoronaJobTracker实际上是一个单Job版本的JobTracker,它是在MRv1的JobTracker基础上修改而来的,它只负责管理一个Job的生命周期,包括该Job的创建、并行化、任务失败时重启、任务运行慢时为其额外启动一个备份任务等。本文介绍了CoronaJobTracker实现。

公司一般希望将所有这些框架部署到一个公共的集群中,让它们共享集群的资源,并对资源进行统一使用,这样,便诞生了资源统一管理与调度平台,典型代表是Mesos和YARN。本文总结了资源统一管理与调度平台产生背景以及它们所应具有的特点,并对比了当前比较有名的资源统一管理与调度平台Mesos和YARN。

随着MapReduce的流行,其开源实现Hadoop也变得越来越受推崇。在Hadoop系统中,有一个组件非常重要,那就是调度器,它的作用是将系统中空闲的资源按一定策略分配给作业。在Hadoop中,调度器是一个可插拔的模块,用户可以根据自己的实际应用要求设计调度器。本文介绍了Hadoop中常见的三种调度器。