Hadoop资源调度器

Hadoop资源调度器是负责将任务分配给各种DataNode上的可用YARN容器的组件。调度器是ResourceManager中的插件。可以将调度器视为工具,它使集群多个租户共享集群,并以有效和及时的方式使用集群资源(CPU和内存),同时它还注意集群的总分配容量。

容量调度器(Capacity Scheduler)是Apache Hadoop2.7.2后的默认调度器,对于某些Hadoop发行版,如Cloudera则公平调度器(Fair Scheduler)是默认调度器。

Hadoop有三种不同类型的调度器。

先进先出(FIFO)调度器:这是早期Hadoop简单的调度器,它使用一个队列来调度所有作业。选择执行作业时没有优先级的概念,作业从队列头部依次处理。

容量调度器:此调度器的每个队列都有保证的最少资源量。在获取其他任务释放的资源时,将优先考虑已用资源与授权资源之间差距大的队列。如果有多余容量,则在集群之间共享

容量调度器通过保留队列容量来为队列提供严格的保证。提交的小作业可以立即启动,因为他们的资源未分配给其他作业,保持空闲,因此队列可以随时运行应用程序。但由于不使用队列时,保留容量未分给其他队列,所以成本高。

公平调度器:此容器保证作业最低资源。可以将一个队列多用的资源分给其他队列。它使用优先级的概念反映队列中应用程序的重要性。

公平调度器不为队列保留任何资源,本质上是动态的。如果将任务提交到队列,则调度器保证以公平方式得到资源。当单独一个作业在运行时,它将使用整个集群。当有其它作业被提交上来时,系统会将任务(task)空闲资源(container)赋给这些新的作业,以使得每一个作业都大概获取到等量的CPU时间。

与Hadoop默认调度器维护一个作业队列不同,这个特性让小作业在合理的时间内完成的同时又不”饿”到消耗较长时间的大作业。公平调度可以和作业优先权搭配使用——优先权像权重一样,用作决定每个作业所能获取的整体计算时间的比例。支持FIFO、fair(默认公平调度策略)、drf(主导资源)调度策略

 容量调度器与公平调度器相同点:

支持批量和短期作业共存。

的可以夸队列移动应用程序

所有队列都从根或默认队列继承

队列支持最大、最小容量,以及限制每个队列最大应用程序数

 

 

 

 

 

原文地址:https://www.cnblogs.com/mergy/p/12996964.html