hadoop中的java作业与任务调度

q0qdq0h2  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(515)

当我读到这张幻灯片中关于延迟公平调度的内容时,我对hadoop中的术语“作业调度”和“任务调度”有点困惑。
如果我的以下假设有误,请纠正我:
默认调度程序、容量调度程序和公平调度程序仅在用户调度多个作业时在作业级别有效。如果系统中只有一个作业,它们就不起任何作用。这些调度算法构成了“作业调度”的基础
每个作业可以有多个map和reduce任务,它们是如何分配给每台机器的?如何为单个作业安排任务?“任务调度”的依据是什么?

jaql4c8m

jaql4c8m1#

对于fair scheduler,当有一个作业运行时,该作业将使用整个集群。提交其他作业时,将释放的任务槽分配给新作业,以便每个作业获得大致相同的cpu时间。
与默认的hadoop调度器不同,hadoop调度器形成了一个作业队列,它允许短作业在合理的时间内完成,而不会耗尽长作业。在多个用户之间共享集群也是一种简单的方法。公平共享还可以与作业优先级一起工作-优先级用作权重,以确定每个作业获得的总计算时间的分数。
capacityscheduler的设计允许共享一个大型集群,同时为每个组织提供最低容量保证。核心思想是hadoop map reduce集群中的可用资源在多个组织之间进行划分,这些组织根据计算需求共同为集群提供资金。还有一个额外的好处是,一个组织可以访问任何未被他人使用的过剩容量。这为各组织提供了成本效益高的弹性。

相关问题