Yarn

一.基本架构

二.工作机制

  1. 将job提交到yarn客户端,客户端向RM申请一个Application
  2. RM回复客户端一个路径和id,让客户端将job运行资源放入路径下
  3. 客户端按照要求将job的jar包和配置文件放入hdfs路径中
  4. 客户端再次向RM发送请求,申请APPMaster资源
  5. 将用户请求作为一个Task放入队列中
  6. 空闲的NM会自己领取Task任务
  7. 该NM创建容器 Container,并产生Appmaster
  8. Container 从 HDFS 上拷贝资源到本地
  9. AppMaster 向 RM 申请运行 MapTask 资源,RM作为一个请求放入队列中
  10. 空闲的NM自己领取Task任务,创建容器 Container,拷贝资源到本地
  11. AppMaster发送启动脚本,运行MapTask
  12. AppMaster等待MapTask运行完,再次向RM申请资源,运行ReduceTsk
  13. 空闲的NM自己领取Task任务,创建容器 Container,拷贝资源到本地
  14. 程序运行完,MR 会向 RM 申请注销自己。

三.调度器和调度算法

1.先进先出调度器(FIFO):


2.容量调度器

调度算法:


3.公平调度器

 调度算法

 

posted @ 2024-03-26 23:09  小猴子_X  阅读(10)  评论(0)    收藏  举报