Hadoop2.X YARN模块基本认知--基于《Hadoop技术内幕深入解析YARN架构设计与实现原理》

  • Hadoop YARN 源码组织结构
  1. YARN API(对应hadoop-yarn-api目录):给出了YARN内部涉及的4个主要RPC协议的Java声明和Protocol Buffers定义
  2. YARN Common(hadoop-yarn-common):包含了YARN的底层库实现
  3. YARN Applications(hadoop-yarn-applications):包含了两个Application编程实例,分别是distributed shell和Unmanaged AM
  4. YARN Client(hadoop-yarn-client):封装了几个与YARN RPC协议交互相关的库,方便用户开发应用程序.
  5. YARN Server(hadoop-yarn-server):该部分给出了YARN的核心实现,包括ResourceManager,NodeManager,资源管理器等核心组件的实现
  • YARN 的基本设计思想

将Hadoop 1.0中JobTracker拆分成两个独立的服务,一个全局的资源管理器ResourceManager(RM)和每个应用独有的ApplicationMaster(AM).其中RM负责整个系统的资源管理和分配,而AM负责单个的应用程序的管理

  • YARN的基本组成
  • ResourceManager(RM)
    全局的资源管理器,负责整个系统的资源管理和分配,由调度器(ResourceScheduler)和应用管理器(Applications Master ,ASM)组成
  1. 调度器(ResourceScheduler)
    调度器根据容量,队列等限制条件,将系统中的资源分配给各个正在运行的应用程序.调度器不参与任何应用程序的具体工作,仅根据应用程序的资源需求进行资源分配.调度器是个可拔插的组件,用户可根据自己的需要设计新的调度器.
    2.应用程序管理器(ASM)
    应用程序管理器负责整个系统中所有应用程序,包括应用程序的提交,与调度器协商资源以启动ApplicationMaster(AM),监控AM运行状态并在失败时重启它
  • ApplicationMaster(AM)
    用户提交的每个应用程序均包含一个AM,主要功能包括:
    1.与RM调度器协商以获取资源
    2.将得到的资源进一步分配给内部的任务
    3.与NodeManager(NM)通信,以启动\停止任务
    4.监控所有任务运行状态,并在任务运行失败时重新为任务申请资源以重启任务
    当前YARN自带两个AM实现:
    1.用于演示AM编写方法的实例程序distributedshell,它可以申请一定数目的Container以运行一个shell命令或shell脚本
    2.运行MapReduce应用程序的AM-MRAppMaster
  • NodeManager(NM)
    NM是每个节点上的资源和任务管理器.一方面,它会定时的向RM汇报本节点上的资源使用情况和各个Container的运行状态;另一方面,它接收并处理来自AM的Container启动\停止等请求
  • Container
    YARN中的资源抽象,它封装了某个节点上的多维资源,当AM向RM申请资源时,RM为AM返回的资源便是使用Container表示的.YARN会为每个任务分配一个Container,且该任务只能使用该Container中描述的资源.Container是一个动态资源划分单位,是根据应用程序的需求动态生成的.
  • YARN 的通信协议
    YARN的通信协议使用RPC协议,该协议是远程过程调用协议,是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.在YARN中,任何两个需要相互通信的组件之间仅有一个RPC协议,而对于任何一个RPC协议,通信双方有一端是Client,另一端是Server,且Client总是主动连接Server的,因此,YARN实际上采用的是拉式通信模型.YARN内部涉及主要的RPC协议,分别是ApplicationClientProtocol,ApplicationMasterProtocol,ContainerManagementProtocol,ResourceManagerAdministrationProtocol和ResourceTracker
  • ApplicationClientProtocol
    JobClient(作业提交客户端)与RM之间的协议,JobClient通过此RPC协议提交应用程序,查询应用程序
  • ApplicationMasterProtocol
    AM与RM之间的协议,AM通过该协议向RM注册和撤销自己,并为各个任务申请资源
  • ContainerManagementProtocol
    AM与NM之间的协议,AM通过该协议要求NM启动或停止Container,获取各个Container的使用状态等信息
  • ResourceManagerAdministrationProtocol
    Admin(管理员)与RM之间的通信协议,Admin通过该协议更新系统的配置文件,比如节点黑白名单,用户队列权限等
  • ResourceTracker
    NM与RM之间的协议,NM通过该协议向RM注册,并定时发送心跳信息汇报当前节点的资源使用情况和Container运行情况
image.png
  • YARN的运行流程
image.png

1.用户向YARN提交应用程序
2.RM(其中的调度器)为该应用程序分配第一个Container,(ASM)与对应的NM通信,要求它在这个Container中启动应用程序的AM
3.AM首先向RM(其中的ASM)注册,这样用户可以直接通过RM查看应用程序的运行状况,然后AM会为各个任务申请资源,并监控任务的运行状态直至任务完成,运行结束.在任务未完成时,4-7步是会循环运行的
4.AM采用轮询的方式通过RPC协议向RM(其中的调度器)申请和领取资源
5.AM申请到资源后与对应NM通信,要求启动任务
6.NM为任务设置好运行环境后,将任务启动命令写到一个脚本中,并通过运行该脚本启动任务.
7.各个任务通过RPC协议向AM汇报自己的状态和进度,让AM随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务
在应用程序运行过程中,用户可随时通过RPC向AM查询应用程序的当前状况
8.应用程序运行完成后,AM向RM注销并关闭自己

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,835评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,598评论 1 295
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,569评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,159评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,533评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,710评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,923评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,674评论 0 203
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,421评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,622评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,115评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,428评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,114评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,097评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,875评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,753评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,649评论 2 271

推荐阅读更多精彩内容