更新时间:2021-03-12 来源:黑马程序员 浏览量:
掌握了YARN的体系结构后,接下来看一下YARN的工作流程,具体如图1所示。
图1 YARN工作流程
下面针对图1展示的YARN的工作过程进行介绍,具体如下:
(1)用户通过客户端Client向YARN提交应用程序Applicastion,提交的内容包含Application的必备信息,例如ApplicationMaster程序、启动ApplicationMaster的命令、用户程序等。
(2)YARN中的ResourceManager接收到客户端应用程序的请求后,ResourceManager中的调度器(Scheduler)会为应用程序分配一个容器,用于运行本次程序对应的ApplicationMaster。图6-2中的MR App Mstr表示的是MapReduce程序的ApplicationMaster。
(3)ApplicationMaster被创建后,首先向ResourceManager注册信息,这样用户可以通过ResourceManager查看应用程序的运行状态。接下来的第(4)~(7)步是应用程序的具体执行步骤。
(4)ApplicationMaster采用轮询的方式通过RPC协议向ResourceManager申请资源。
(5)ResourceManager向提出申请的ApplicationMaster分配资源。一旦ApplicationMaster申请到资源后,便与对应的NodeManager通信,要求它启动任务。
(6)NodeManager为任务设置好运行环境(包括环境变量、JAR包、二进制程序等)后,将任务启动命令写到一个脚本中,并通过运行该脚本启动任务。
(7)各个任务通过某个RPC协议向ApplicationMaster汇报自己的状态和进度,以让ApplicationMaster随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务。
(8)应用运行结束后,ApplicationMaster向ResourceManager注销自己,并关闭自己。如果ApplicationMaster因为发生故障导致任务失败,那么ResourceManager中的应用程序管理器会将其重新启动,直到所有任务执行完毕。
猜你喜欢:
【AI设计】北京143期毕业仅36天,全员拿下高薪offer!黑马AI设计连续6期100%高薪就业
2025-09-19【跨境电商运营】深圳跨境电商运营毕业22个工作日,就业率91%+,最高薪资达13500元
2025-09-19【AI运维】郑州运维1期就业班,毕业14个工作日,班级93%同学已拿到Offer, 一线均薪资 1W+
2025-09-19【AI鸿蒙开发】上海校区AI鸿蒙开发4期5期,距离毕业21天,就业率91%,平均薪资14046元
2025-09-19【AI大模型开发-Python】毕业33个工作日,就业率已达到94.55%,班均薪资20763元
2025-09-19【AI智能应用开发-Java】毕业5个工作日就业率98.18%,最高薪资 17.5k*13薪,全班平均薪资9244元
2025-09-19