栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

YARN的介绍与学习以及(MapReduce on yarn )

YARN的介绍与学习以及(MapReduce on yarn )

YARN 作用 :资源调度分配

比 开启hdfs多两个进程 ResourceManager NodeManager 这两个进程

主要的模块

1.ResourceManager (RM)

yarn的资源控制框架的中心模块,负责集群中的所有的资源的统一管理和分配。

RM里面: 调度器 应用管理器

2.调度器(ResourceScheduler)

根据各个应用程序的资源需求,进行分配

3.应用管理器(Applications Manager)

负责监控和跟踪AM的执行状态

4.NodeManager(NM)

是ResourceManager每台机器上的代理,负责容器的管理,并监控他们的资源使用情况(CPU,内存,磁盘,网络等等),以及向RM进行这些资源的汇报

5.ApplicationMaster(AM)

yarn中每个应用都会启动一个AM,负责向RM去申请资源,请求NM启动Container,并告诉container去做什么

6.Container

这是一个虚拟的一个概念

yarn中所有应用都是再container上运行的,包括(AM)

                   1.container是yarn中资源的抽象(申请到的资源),它封装了某个节点上的一定资源

(cpu,磁盘,内存,网络等等)

                   2.container由AM向RM申请,由RM中的ResourceScheduler分配给AM

   container 分类

  1.运行AM的container

  2.运行各类任务的container,由AM向RM申请的

MapReduce on yarn

下图就是 MapReduce on yarn

 

1Cilent向RM提交应用程序,其中包括AM主程序,启动AM的命令,用户的程序(wordcount)

2.RM为该应用分配第一个Container,并于NM通信,要求NM在这个Container启动AM

3.AM首先向RM注册,这样用户可以直接通过RM来查看程序的运行状态 (9527?8088端口可以看到)

4.AM通过RPC协议向ResourceScheduler申领资源

5.一旦申领到资源,与NM通信,要求NM启动任务

6.NM为任务设置好运行环境(环境变量 , hadoop jar包   hadoop.env),将任务的启动命令写到一个脚本中,并通过脚本触发启动任务。(hadoop jar share/.......     wc.sh)

7.各个Container的Task(Map Task,Reduce Task),通过RPC向AM进行进度和状态的汇报,以便AM可以随时掌握任务的运行状态,失败的时候也会重启container任务

8.应用程序运行完成后,AM会向RM申请注销和关闭

总结

1-4 启动ApplicationMaster 领取资源

5-9 启动任务直到任务结束

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

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

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