1.资源调度器:有ResourceManager、NodeManager、ApplicationMaster、Container
2.yarn工作机制
-
作业-->resourceManager:申请并返回资源路径、再申请appmaster、初始化task
-
resuorcemanager-->nodemanager:领取task后创建container,下载job资源,申请并运行maptask
-
nodemanager-->nodemanager2:申请并运行reducetask,向map获取数据并运行
3.yarn调度器:fifo、容量(默认)、公平
-
fifo:先进先出,单队列
-
容量:多队列共同运行、设置min/max资源限度、队列间可资源调配共享、限定同一用户资源
-
公平:与容量大部分相同、容量优先资源利用率低队列、公平优先资源缺额大队列、公平可fair策略
4.调度器资源分配算法
-
容量:优先本地(任务与数据同一节点、机架)
-
公平:先平分,再补
5.具体在yarn-site.xml配置,capacity-scheduler.xml
-
分发配置或者yarn rmadmin -refreshQueues