教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

问答>python+大数据开发>yarn的工作流程是什么?

yarn的工作流程是什么?

来源传智教育2022年06月28日 14时27分11秒

  YARN工作流程如下图1-1所示。

YARN工作流程.jpg

  图1-1 YARN工作流程示意图

  具体工作流程如下:

  (1)用户通过客户端Client向YARN提交应用程序Application,提交的内容包含Application的必备信息,如ApplicationMaster程序、启动ApplicationMaster的命令,用户程序等。

  (2) YARN中的ResourceManager接收到客户端应用程序的请求后,ResourceManager中的调度(Scheduler)会为应用程序分配一个容器,用于运行本次程序对应的ApplicationMaster.图6-2中的MR App Mst表示的是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中的应用程序管理器会将其重新启动,直到所有任务执行完毕。

和我们在线交谈!