代码之家  ›  专栏  ›  技术社区  ›  GoT

Hadoop中的作业和任务调度

  •  5
  • GoT  · 技术社区  · 11 年前

    当我读到延迟公平调度时,我对Hadoop中的“作业调度”和“任务调度”这两个术语有点困惑 in this slide .

    如果我的以下假设有误,请纠正我的错误:

    1. 默认调度程序、容量调度程序和公平调度程序仅在用户调度多个作业时在作业级别有效。如果系统中只有一个作业,它们就不会发挥任何作用。这些调度算法构成了“作业调度”的基础

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

    1 回复  |  直到 11 年前
        1
  •  5
  •   SSaikia_JtheRocker    11 年前

    万一 公平调度 ,当有一个作业正在运行时,该作业将使用整个集群。当提交其他作业时,将空闲的任务槽分配给新作业,这样每个作业获得的CPU时间大致相同。

    默认Hadoop 调度器,它形成了一个作业队列,这样可以让短作业在合理的时间内完成,而不会让长作业挨饿。这也是在多个用户之间共享集群的一种简单方法。公平共享也适用于作业优先级——优先级被用作权重,以确定每个作业获得的总计算时间的比例。

    这个 电容式时间表 旨在允许共享一个大型集群,同时为每个组织提供最低容量保证。核心思想是Hadoop Map Reduce集群中的可用资源在多个组织之间进行分区,这些组织根据计算需求共同为集群提供资金。还有一个额外的好处,一个组织可以访问其他组织没有使用的任何多余容量。这以一种具有成本效益的方式为组织提供了弹性。