开发者社区> 问答> 正文

Yarn 资源调度流程是什么?

Yarn 资源调度流程是什么?

展开
收起
芯在这 2021-12-05 18:03:53 312 0
1 条回答
写回答
取消 提交回答
  • 用户向 Yarn 中提交应用程序,其中包括 ApplicationMaster 程序、启动 ApplicationMaster 的命令、用户程序等

    ResourceManager 为该应用程序分配第一个 Container,并与对应的 NodeManager 通信,要求它在这个Container 中启动应用程序的 ApplicationMaster

    ApplicationMaster 首先向 ResourceManager 注册,这样用户可以直接通过 ResourceManager 查看应用程序的运行状态,然后它将为各个任务申请资源,并监控它的运行状态,直到运行结束 (即重复步骤4~7)

    ApplicationMaster 采用轮询的方式通过 RPC 协议向 ResourceManager 申请和领取资源

    一旦 ApplicationMaster 申请到资源后,便与对应的 NodeManager 通信,要求它启动任务

    NodeManager 为任务设置好运行环境 (包括环境变量、Jar包、二进制程序等)后,将任务启动命令写到一个脚本中,并通过运行该脚本启动任务

    各个任务通过某个 RPC 协议向 ApplicationMaster 汇报自己的状态和进度,以让 ApplicationMaster 随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务。在应用程序运行过程中,用户可随时通过 RPC 向 ApplicationMaster 查询应用程序的当前运行状态

    应用程序运行完成后,ApplicationMaster 和 ResourceManager 注销并关闭自己

    2021-12-05 19:00:45
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
深度学习+大数据 TensorFlow on Yarn 立即下载
Docker on Yarn 微服务实践 立即下载
深度学习+大数据-TensorFlow on Yarn 立即下载