step2:Rescource Manager 选择一个Node Manager,启动一个Container并运行Application Master实例(step 2a,step 2b);
step3:Application Master根据实际需要向RM请求更多的Container资源;
step4:AM通过获取到的Container资源执行分布式计算(step4a、step4b)
RM:Resource Manager ;
1、RM处理客户端请求,接收JobSubmitter提交的作业(上图step1),按照作业的上下文(Context)信息,以及从NodeManage让(NM)收集来的状态信息,启动调度过程,分配一个粗迅睁Container作为App Master
2、RM拥有为系统中所有应用资源分配的决定权,是中心服务,做的事情就是调度、启动每一个Job所属是Application(AM),另外监控AM的存在情况
3、与运行在每个节点上的NM进程交互,通过心跳通信,达到监控NM的目的
4、RM有一个可插拔的调度器组件Scheduler
——Scheduler是一个纯粹的调度器(只负责任务的调度)
NM:Node Manager
1、是slave进程,是每个节点框架代理
2、处理来自RM的任务请求
3、接收并处理来自AM的Container启动、停止等各种请求
4、其责启动应用程序的Container(执行应用程序的容器),并监控他们的资源使用情况(CPU、内存、磁盘、网络),并报告给RM
5、总而言之,在单节点上进行资源管理和任务管理
AM:Application Master,
1、应用程序的Master,每一个应用对用一个AM,在用户提交一个应用程序时,一个AM是轻量行进程实例会启动(Step2),AM协调应用程序内的所有任务执行(多个MAP/REDUCE)
2、负责一个Job生命周期内的所有工作,监控job执行状态和进度,如果任务失败,则重新启动任务
3、每一个job都有一个AM,运行在RM以外的机器上
4、与RM协商资源
——与Scheduler协商合适的Container
5、与NM协同工作,进行Container的监控
6、是一个普通Container的身份运行
Container
1、是任务运行环境的抽象封装
2、Container只是使用NM上指定资源的权利
3、AM必须向NM提供更多的信息来启动Container
4、描述任务的运行资源(节点、内存、cpu)
应用:YARN上的应用按其运行的生命周期的长短可分为长应用和短引用
1、短应用昌姿通常是分析作业,作业从提交到完成,所耗时间是有限的,作业完成后,其占用的资源就会被释放,归还给YARN再次分配
2、长应用通常是一些服务,启动后除非意外或人为终止,将一直运行下去,长应用通常长期暂用集群上的一些资源,且运行期间对资源的需求也时常变化。
下面再贴一个从别人那里引用过来的图和过程;更详细的启动过程见链接
https://www.cnblogs.com/admln/p/hadoop2-work-excute-yarn.html
用户向YARN提交一个应用程序后,YARN将分为两个阶段运行该应用程序:第一个阶段是启动ApplicationMaster;第二个阶段是由ApplicationMaster创建应用程序,为它申请资源,并监控它的整个运行过程,直到运行成功。
YARN的工作流程可以分为以下几个步骤:
1.用户向YARN提交应用程序,其中包括ApplicationMaster程序、启动ApplicationMaster的命令、用户程序等;
2.ResourceManager为该应用程序分配第一个Container,并与对应的NodeManager通信,要求它在岩岁这个Container中启动应用程序的ApplicationMaster;
3.ApplicationMaster启动后首先向ResourceManager注册,这样用户可以直接通过ResourceManager查看应用程序的运行状态,然后它将为各个任务申请资源,并监控它的运行状态,直到运行结束,即重复步骤4~7;
4.ApplicationMaster采用轮询的方式通过RPC协议向ResourceManager申请和领取资源;
5.一旦ApplicationMaster申请到资源后,则与对应的NodeManager通信,要求其启动任务;
6.NodeManager为任务设置好运行环境(包括环境变量、jar包、二进制程序等)后,将任务启动命令写到一个脚本中,并通过运行该脚本启动任务;
7.各个任务通过某RPC协议向ApplicationMaster汇报自己的状态和进度,以让ApplicationMaster随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务。
在应用程序运行过程中,用户可以随时通过RPC向ApplicationMaster查询应用程序的当前运行状态;
8.应用程序运行完成后,ApplicationMaster向ResourceManager注销并关闭自己。
1.在cmd下输入“npm install create-react-app yarn -g”
2.在指定项目目录下输入 create-react-app your_project_name
例如“create-react-app react_test” (注意项目名称不能有大写字母)
安装完成之后提示如下图所示
3.切换到刚刚安装时创建的文件夹,输入“yarn start”测试安装是否成功,安装成功则会调成一个页面
4.切换到刚刚安装时创建的文件夹,输入“ yarn add antd --save”安装antdesign
打开package.json可以看到antd已成功安装
此时,我们可以在编辑器中打烂明开项目文件夹(此处是vs code),可以清晰的看到create-react-app的生成目录:
此时,系统已经为我们生成了基础的页面(也就是App.js中的组件所展现出来的)
在目录文件夹下拆锋运行“yarn start”命令,基础页面也就是react的logo等,此时的页面长这样:
然后我们就可以在render中引入新的组件渲染我们需要的页面了。例如:
此处我们通过import从antd中按需导入了Button组件,然后在render中渲染,运行“yarn start”指令得到如下页面:
可以看到页面中新增了一个button,至此基础的开发就是这样了,其他需要的组件,旅历晌需要调整的样式可自行添加。
一、YARN框架简介
YARN:Yet Another Resource Negotiator 通用的资源管理系统。为上一层的mapreduce,spark等任务服务提供统一的资源管理和调度。
YARN 是一个资源管理、任务调度的框架,主要包含三大模块:ResourceManager(RM)、 NodeManager(NM)、ApplicationMaster(AM)。 ResourceManager 负责所有资源的监控、分配和管理; ApplicationMaster 负责每一个具体应用程序的调度和协调; NodeManager 负责每一个节点的维护。 对于所有的 applications,RM 拥有绝对的控制权和对资源的分配权。而每个 AM 则会和 RM 协商资源,同时和 NodeManager 通信来执行和监控 task。
Yarn是Master/slave主从结构,通过主从管理关系,对所有的计算框架运行在一个集群中,共享一个集群的资源进行按需分配,提高资源的利用率。
二、yarn的运行流程
步骤1 用户向YARN中提交应用程序,其中包括ApplicationMaster程序、启动ApplicationMaster的命令、用户程序等。侍答
步骤2 ResourceManager为该应用程序分配第一个Container,并与对应的Node-Manager通信,要求它在这个Container中启动应用程序的ApplicationMaster。
步骤3 ApplicationMaster首先向ResourceManager注册,这样用户可以直接通过ResourceManager查看应用程序的运行状态,然后老雹慧它将为各个任务申请资源,并监控它的运行状态,直到运行结束,即重复步骤4~7。
步骤4 ApplicationMaster采用轮询的方式通过RPC协议向ResourceManager申请和领取资源。
步骤5 一旦ApplicationMaster申请到资源后,便与对应的NodeManager通信,要求它启动任务。
步骤6 NodeManager为任务设置肆竖好运行环境(包括环境变量、JAR包、二进制程序等)后,将任务启动命令写到一个脚本中,并通过运行该脚本启动任务。
步骤7 各个任务通过某个RPC协议向ApplicationMaster汇报自己的状态和进度,以让ApplicationMaster随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务。 在应用程序运行过程中,用户可随时通过RPC向ApplicationMaster查询应用程序的当前运行状态。
步骤8 应用程序运行完成后,ApplicationMaster向ResourceManager注销并关闭自己。
三、yarn的配置
1.修改配置文件mapred-site.xml,配置mapreduce作业任务交个yarn框架进行管理
vim /opt/mysoft/hadoop/etc/hadoop/mapred-site.xml
2.修改配置文件yarn-site.xml
vim /opt/mysoft/hadooop/etc/hadoop/yarn-site.xml
3.配置完成之后启动服务
start-yarn.sh
4.检查启动是否成功,通过jps查看进程 ResourceManager,NodeManager
5.通过http://hadoop00:8088查看webUI界面上yarn的运行画面
6.提交mapreduce作业,到yarn集群环境,查看任务执行情况。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)