YARN调度器
YARN负责作业资源调度,在集群中找到满足业务的资源,帮助作业启动任务,管理作业的生命周期。
YARN技术架构
目前,Hadoop作业调度器主要有三种:先进先出调度器(First In First Out)、容量调度器(Capacity Scheduler)、公平调度器(Fair Scheduler)。
Apache Hadoop-1.x 默认调度器为先进先出调度器(First In First Out);
Apache-Hadoop-2.7.2 之后默认调度器是容量调度器(Capacity Scheduler);
Apache-Hadoop-3.2.2 默认调度器是公平调度器(Fair Scheduler)。
1.先进先出调度器
FIFO调度器(First In First Out): 单队列,根据提交作业的先后顺序,先到先得。
1.1 先进先出调度器的特点
-
无需任何配置,作业按照先来后到分配资源,但会出现小任务被大任务阻塞的情况。
2.容量调度器
Yahoo开发的多用户调度器,容量调度器每个队列内部先进先出,同一时间队列中只有一个任务在执行,队列的并行度为队列的个数。
2.1 容量调度器特点
-
多队列:每隔队列可以配置一定的资源量,每个队列内部采用先进先出的调度策略。
-
容量保证:管理员可为每个队列设置资源最低保证和资源使用上限。
-
资源灵活:如果一个队列中的资源有剩余,可以暂时共享给哪些需要资源的队列,而一旦该队列有新的作业提交,则其他队列借调的资源会归还给该队列。
-
多租户:支持多用户共享集群和多作业同时运行;为了防止一个用户的作业独占队列中的资源,可以对用户提交作业所使用的资源进行限定。
2.2 容量调度器配置模板
容量调度器的配置文件是 capacity-scheduler.xml
。
参数名称 | 说明 |
---|---|
capacit |