大数据hadoop生态体系之YARN配置和使用(13)
发布网友
发布时间:2022-12-21 22:06
我来回答
共1个回答
热心网友
时间:2023-01-23 16:51
一、YARN框架简介
YARN:Yet Another Resource Negotiator 通用的资源管理系统。为上一层的maprece,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,配置maprece作业任务交个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.提交maprece作业,到yarn集群环境,查看任务执行情况。