栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Yarn内容

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Yarn内容

5.1 Yarn设计思路 1、架构思路

将原JobTacker三大功能拆分

本质:是一个资源调度框架,原来的MapRedece既是一个资源调度框架,也是一个计算框架

MapReduce2.0的改进:它是运行在Yarn上的一个纯粹的计算框架,不再负责资源调度管理服务,而是由Yarn为其提供资源管理调度服务。

2、架构原理


(1)ResourceManager组件:

  • 处理客户端请求
  • 监控、启动ApplicationMaster
  • 监控NodeManager
  • 资源分配与调度

(2)ApplicationMaster组件:

  • 为应用程序申请资源,并分配给内部任务
  • 任务调度、监控与容错

(3)NodeManager:

  • 单个节点上的资源(容器生命周期)管理
  • 处理来自ResourceManager命令
  • 处理来自ApplicationMaster命令

(4)Container:是Yarn中的资源抽象,他封装了多个维度的资源,如内存、CPU、磁盘、网络


其中
ResourceManager:
(1)调度器: 接收来自ApplicationMaster的应用程序资源请求,把资源以容器的形式分配给提出申请的应用程序。
(2)应用程序管理器:负责应用程序的管理工作,包括应用程序提交、与调度器协商资源以启动ApplicationMaster、监控ApplicationMaster,并在失败时重启。

ApplicationMaster:
(1)用户作业提交时,ApplicationMaster与ResourceManager协商获取资源,ResourceManager以容器的形式给ApplicationMaster分配资源。
(2)把获得的资源进一步分配给内部的各个任务(Map任务和Reduce任务)。
(3)与NodeManager保持通信进行应用程序的启动、运行、监控和停止,监控申请到的资源的申请情况,和所有任务的执行进度和状态,在任务失败时执行任务恢复。
(4)定时向ResourceManager发送心跳,报告资源的使用情况和应用的进度信息。
(5)作业完成,ApplicationMaster向ResourceManager注销容器,执行周期完成。

3、工作流程


(1)用户向Yarn提交应用程序,包括ApplicationMaster程序、用户程序,启动ApplicationMaster命令。
(2)ResourceManager为应用程序分配第一个容器,并与NodeManager通信,要求它在容器中启动ApplicationMaster
(3)ApplicationMaster被创建后向ResourManager注册(只有注册了AM才能监管到RM,RM才能汇报信息)。
(4)ApplicationMaster采用轮询的方式向ResourceManager申请资源
(5)ResourceManager以容器的形式向提出申请的ApplicationMaster分配资源
(6)一旦ApplicationMaster申请到资源,就与NodeManager通信,要求其启动任务
(7)NodeManager设置好环境,把任务启动命令加载进一个脚本,通过这个脚本启动任务
(8)各个任务通过某个RPC协议向ApplicationMaster汇报自己的状态和进度,以让ApplicationMaster随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务。在应用程序运行过程中,用户可随时通过RPC向ApplicationMaster查询应用程序的当前运行状态。
(9)应用程序运行完成后,ApplicationMaster向ResourceManager注销并关闭自己。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/644589.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号