Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于分布式的操作系统平台,而MapReduce等运算程序则相当于运行在操作系统上的应用程序
YARN 基本架构
Yarn 由 ResourceManager,NodeManager,ApplicationMaster和Container 组成
YARN 工作机制
YARN 资源调度器
作业调度器有三种: FIFO、Capacity Scheduler(Hadoop2.7 默认) 和 Fair Scheduler
Capacity Scheduler
Fair Scheduler
任务推测执行
系统中99%的任务都完成了,只有少数几个Map很慢,完不成怎么办?
推测执行机制
为这种拖后腿的任务再启动一个备份任务,同时执行,谁先执行完用谁的结果
执行推测任务的前提条件:
- 每个任务只能有一个备份任务
- 当前job的已完成的Task不低于5%
- marred-site.xml中开启相应的参数
不能推测执行的情况:
- 任务间存在严重的负载倾斜
- 特殊任务,比如向数据库中写数据
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。