yarn的资源调度

  1. 客户端将它的程序提交给Yarn。
  2. RM会给客户端返回一个jobid以及一个路径。
  3. 客户端会将对应的程序信息(jar包、切片信息、序列化文件)提交到对应的路径下。
  4. 提交完以后给RM返回一个确认。
  5. RM就会在存放提交信息的那台NodeManager上创建出来一个容器。启动我们的ApplicationMaster。
  6. ApplicationMaster会跟提交的切片信息和程序向RM注册,并申请容器。
  7. RM收到资源请求后,就去跟NM通信,NM就会在自身的节点上创建出需要的容器数量。
  8. ApplicationMaster就将相应的任务信息,发送到对应的NM节点上,并使用创建出来的container去运行Task。
  9. 运行ReduceTask。
  10. 等所有的Task都执行完以后,ApplicationMaster就向RM进行注销,RM就会回收资源。

RM:负责资源的分配。

ApplicationMaster:资源的申请,程序的监控。

NM:负责创建容器,运行Task

原文地址:https://www.cnblogs.com/shqnl/p/11429612.html