1.Yarn的介绍
1:Yarn是一个通用的资源调度平台
2:Yarn可以为很多计算框架(MR,Spark,Storm)提供资源调度任务
3:Yarn本身也是一个集群,是一个主从架构集群,主节点:ResourceManager,从节点:NodeManager
2. Yarn架构
Client
提交任务:hadoop jar /export/server/hadoop-2.7.5/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar pi 2 1000
ResourceManager
1:做全局管理
2:需要接受NodeManager的心跳信息,要知道每个NodeManager的资源使用情况
3:ResourceManager不会去关系每一个任务具体的执行情况,每一个Job的执行情况由App Mstr来管理
NodeManager
1:负责管理本机的资源
2:定时向ResourceManager汇报自己的资源情况
3:NodeManger是来具体分配资源的
4:NodeManager接收并处理来自ApplicationMaster的Container启动、停止等各种请求。
ApplicationMaster(App Mstr)
1:每当启动一个job任务,Yarn会该任务在NodeManager上自动启动一个App Mstr
2:App Mstr负责向RM申请资源,如果RM同意资源申请,则AppMstr再向具体NM要真正的资源
3:每一个Job任务都有一个AppMstr,这个AppMstr来负责整个Job任务的执行
4:监控所有任务运行状态,并在任务运行失败时重新为任务申请资源以重启任务。
Container
1:资源分配的单位
2:一个Container:2G,2核
3.Yarn的调度策略(重点)
1:FIFO Scheduler
队列调度器
1:FIFO Scheduler把应用按提交的顺序排成一个队列,这是一个先进先出队列,在进行资源分配的时候,先给队列中最头上的应用进行分配资源,待最头上的应用需求满足后再给下一个分配,
2:这种调度器很少用,因为如果前边的任务占用资源过大,而且运行时间过长,则会严重影响后边的任务执行
2:Capacity Scheduler
容量调度器
1:Apache的Hadoop默认的调度器
3. Fair Scheduler
公平调度器
CDH版的Hadoop默认使用的调度器
Yarn执行流程:
4.Hadoop3.X新特性介绍
1:HDFS的web界面增加了很多扩展功能:文件的上传和下载,删除
2:引入多NameNode机制,1一个Active多个Standby
3:引入了HDFS的纠删码机制,每一个Block只需要存1份,然后保存多份纠删码数据,如果原来的block数据丢失了,可以通过纠删码文件来恢复
4:在进行MapReduce计算时,尽可能多的使用内存,加快处理速度
总之:在学习大数据过程中有很多理论,这些理论还是要理解一下的.