第1节 yarn:13、yarn资源调度的介绍

时间:2024-09-23 09:04:20

Yarn资源调度

yarn集群的监控管理界面:

http://192.168.52.100:8088/cluster

jobHistoryServer查看界面:

http://192.168.52.100:19888/jobhistory

yarn的介绍:

yarn是hadoop集群当中的资源管理系统模块,从hadoop2.x开始引入yarn来进行管理集群当中的资源(主要是服务器的各种硬件资源,包括CPU,内存,磁盘,网络IO等)以及运行在yarn上面的各种任务。

总结一句话就是说:yarn主要就是为了调度资源,管理任务等

其调度分为两个层级来说:

一级调度管理:

计算资源管理(CPU,内存,网络IO,磁盘)

App生命周期管理 (每一个应用执行的情况,都需要汇报给ResourceManager)

二级调度管理:

任务内部的计算模型管理  (AppMaster的任务精细化管理)

多样化的计算模型

yarn的官网文档说明:

http://hadoop.apache.org/docs/r2.7.5/hadoop-yarn/hadoop-yarn-site/YARN.html

Yarn的主要组件介绍与作用

yarn当中的各个主要组件的介绍

ResourceManager:yarn集群的主节点,主要用于接收客户端提交的任务,并对任务进行分配。

NodeManager:yarn集群的从节点,主要用于任务的计算

ApplicationMaster:当有新的任务提交到ResourceManager的时候,ResourceManager会在某个从节点nodeManager上面启动一个ApplicationMaster进程,负责这个任务执行的资源的分配,任务的生命周期的监控等

Container:资源的分配单位,ApplicationMaster启动之后,与ResourceManager进行通信,向ResourceManager提出资源申请的请求,然后ResourceManager将资源分配给ApplicationMaster,这些资源的表示,就是一个个的container

JobHistoryServer:这是yarn提供的一个查看已经完成的任务的历史日志记录的服务,我们可以启动jobHistoryServer来观察已经完成的任务的所有详细日志信息

TimeLineServer:hadoop2.4.0以后出现的新特性,主要是为了监控所有运行在yarn平台上面的所有任务(例如MR,Storm,Spark,HBase等等)

yarn的发展历程以及详细介绍:

https://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-yarn/

yarn当中各个主要组件的作用:

resourceManager主要作用:

处理客户端请求

启动/监控ApplicationMaster

监控NodeManager

资源分配与调度

NodeManager主要作用:

单个节点上的资源管理和任务管理

接收并处理来自resourceManager的命令

接收并处理来自ApplicationMaster的命令

管理抽象容器container

定时向RM汇报本节点资源使用情况和各个container的运行状态

ApplicationMaster主要作用:

数据切分

为应用程序申请资源

任务监控与容错

负责协调来自ResourceManager的资源,开通NodeManager监视容的执行和资源使用(CPU,内存等的资源分配)

Container主要作用:

对任务运行环境的抽象

任务运行资源(节点,内存,cpu)

任务启动命令

任务运行环境

yarn的架构

第1节 yarn:13、yarn资源调度的介绍

======================================================================================

yarn集群的主要架构:
resourceManager:集群当中的主节点,主要用于接收客户单的提交的任务请求,分配资源
NodeManager:yarn集群当中的从节点,主要负责提供计算能力,接收AppMaster分配的任务,进行执行
ApplicationMaster:客户端每提交一个任务,主节点resourceManager就会启动一个appMaster全权负责管理这个任务,包括资源的申请,资源的额调度,任务的执行情况汇报给resourceManager等等
container:资源分配的单位,ApplicationMaster申请到的资源都分配给一个的container,然后在container里面运行一个个的maptask或者reducetask
jobHistory:已经完成的历史任务的界面查看;

vim yarn-site.xml,里面的一个配置:yarn.log-aggregation-enable ,设置为true。启动日志聚合功能,将所有的日志聚合到一起,然后可以访问

http://192.168.52.100:19888/jobhistory看到所有的日志。

第1节 yarn:13、yarn资源调度的介绍

TimeLineServer:hadoop2.4.0以后出来的新特性 主要用于查看正在执行的任务情况

hadoop当中的小任务模式 ubermode:
启动一个maptask,分配资源花了30s,然后maptask去处理一个小文件,花了3s
hadoop当中的小任务模式:
mapreduce.job.ubertask.enable 设置我们需要开启hadoop任务的小任务模式 小任务模式可以根据我们输入的数据量做判断,如果输入的数据量比较小
输入10个文件,每个文件2KB,输入的数据总量也就是20KB,10个小文件,占用10个block块,每个block块对应要启动一个maptask
可以考虑使用ubermode 小任务模式来实现所有的数据就在一个maptask里面去处理。