Yarn 的任务提交流程

当 jobclient 向 Yarn 提交一个应用程序后,Yarn 将分两个阶段运行这个应用程序:

  • 一是启动 AM(ApplicationMaster);

  • 二是由 AM 创建应用程序,为它申请资源,监控运行直到结束。

具体步骤如下:

  1. 用户向 Yarn 提交一个应用程序,并指定 AM 程序、启动 AM 的命令、用户程序。
  2. RM(ResourceManager)为这个应用程序分配第一个 Container,并与之对应的 NM(NodeManager)通讯,要求它在这个 Container 中启动应用程序 AM。
  3. AM 向 RM 注册,然后拆分为内部各个子任务,为各个内部任务申请资源,并监控这些任务的运行,直到结束。
  4. AM 采用轮询的方式向 RM 申请和领取资源。
  5. RM 为 AM 分配资源,以 Container 形式返回。
  6. AM 申请到资源后,便与之对应的 NM 通讯,要求 NM 启动任务。
  7. NM 为任务设置好运行环境,将任务启动命令写到一个脚本中,并通过运行这个脚本启动任务。
  8. 各个任务向 AM 汇报自己的状态和进度,以便当任务失败时可以重启任务。
  9. 应用程序完成后,AM 向 RM 注销并关闭自己。

我们下期见,拜拜!

猜你喜欢

转载自blog.csdn.net/frdevolcqzyxynjds/article/details/131854245