2013-09-29 68 views
5

当我在阅读关于延迟公平调度in this slide时,我对Hadoop中的术语“作业调度”和“任务调度”有些困惑。Hadoop中的作业和任务调度

请纠正我,如果我在下面的假设是错误的:

  1. 默认调度,调度能力和公平调度在作业级别是唯一有效的多个作业时,由用户预定。如果系统中只有单一工作,他们不起任何作用。这些调度算法形成“作业调度”的基础

  2. 每个作业可以有多个映射和减少任务,它们是如何分配给每台机器的?如何安排一项工作的任务?什么是“任务调度”的基础?

+1

我不确定你在说什么。我打开了你正在链接的演示文稿,没有任何单一的术语“作业调度”或“任务调度”。我还看了一篇完整的论文,没有提到“任务调度”,只提到了“作业调度”,作者解释了作业调度如何在Hadoop中工作(版本1,而不是版本2 )。请在延期时间表或演示文稿中指出令您感到困惑的具体部分。 – cabad

+0

我不明白幻灯片6和7显示了每个作业的计划任务。 – GoT

回答

5

公平调度的情况下,当有运行一个作业,该作业使用整个集群。当提交其他作业时,空闲的任务插槽将分配给新作业,以便每个作业获得大致相同的CPU时间量。

默认Hadoop调度程序(它构成一个作业队列)不同,它可以让短时间作业在合理的时间内完成,同时不会使长时间作业挨饿。这也是在多个用户之间共享群集的简单方法。公平分享也可以与工作优先级一起工作 - 优先级被用作权重来确定每个工作得到的总计算时间的比例。

CapacityScheduler旨在允许共享大型群集,同时为每个组织提供最低容量保证。其核心思想是Hadoop Map-Reduce集群中的可用资源根据计算需求分为多个集体资助集群的组织。还有一个额外的好处是,一个组织可以访问任何多余的容量不被他人使用。这为组织提供了具有成本效益的弹性。

+0

所以我可以假设如果系统中只有一个作业,作业调度程序类型不起任何作用 – GoT

+0

如果系统中只有一个作业,那么该作业的不同机器上的任务是如何安排的? – GoT

+1

在公平调度程序的情况下,任务就像上面提到的那样使用整个群集的功能。 –