Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于分布式的操作系统平台,而MapReduce等运算程序则相当于运行在操作系统上的应用程序

YARN 基本架构

Yarn 由 ResourceManager,NodeManager,ApplicationMaster和Container 组成
微信截图_20200228141658.png

YARN 工作机制

微信截图_20200228142625.png

YARN 资源调度器

作业调度器有三种: FIFO、Capacity Scheduler(Hadoop2.7 默认) 和 Fair Scheduler

Capacity Scheduler

微信截图_20200228150147.png

Fair Scheduler

微信截图_20200228150731.png

任务推测执行

系统中99%的任务都完成了,只有少数几个Map很慢,完不成怎么办?

推测执行机制
为这种拖后腿的任务再启动一个备份任务,同时执行,谁先执行完用谁的结果

执行推测任务的前提条件:

  • 每个任务只能有一个备份任务
  • 当前job的已完成的Task不低于5%
  • marred-site.xml中开启相应的参数

不能推测执行的情况:

  • 任务间存在严重的负载倾斜
  • 特殊任务,比如向数据库中写数据

猛男落泪为offer
22 声望5 粉丝

半路出家大数据