Yarn资源调度

▶ \blacktriangleright Yarn基本架构的4个组件及其作用
  • ResourceManager 主要作用

    1. 处理客户端请求
    2. 监控nodeManager
    3. 启动或监控ApplicationManager
    4. 资源调度和分配
  • nodeManager 主要作用

    1. 管理单个节点上的资源
    2. 处理ResourceManager的命令
    3. 处理applicationManager的命令
  • applicationManager(主要作用和执行的时候会启动)

    1. 负责数据的切分
    2. 为应用程序申请资源并分配
    3. 任务的监控 容错
  • Containers

    1. 封装资源的:内存 CPU 磁盘 网络


▶ \blacktriangleright Yarn工作机制
  1. mr提交到客户端所在的节点
  2. YarnRunner向ResourceManager申请Application
  3. Resource把路径返回给yarnRunner
  4. 把运行所需资源提交到HDFS上
  5. 资源提交完毕,申请mrAppMaster
  6. ResourceManager将用户请求初始化成一个Task
  7. NodeManager领取到Task任务
  8. 这个NodeManager创建一个containers容器 ,并产生MRAppMaster
  9. Containers从hdfs上拷贝job资源到本地
  10. MRAppMaster向MR申请运行MapTask
  11. RM将运行MapTask任务分配给另外两个NodeManager,另两个NodeManager分别领取任务并创建容器
  12. MR向两个接收到任务的NodeManager发送程序启动脚本,这两个NodeManager分别启动MapTask,MapTask对数据分区排序
  13. MrAppMaster等待所有MapTask运行完毕后,向RM申请容器,运行ReduceTask
  14. ReduceTask向MapTask获取相应分区的数据
  15. 程序运行完毕后,MR会向RM申请注销自己


▶ \blacktriangleright Yarn资源调度器
  1. FIFO:按照到达时间排序,先到先服务
  2. 容量调度器:支持多个队列,每个队列采用FIFO调度策略
  3. 公平调度器:按照缺额排序,缺额大的先优先


▶ \blacktriangleright Yarn任务的推测执行
  • 前提条件

    1. 每Task只能有一个备份任务
    2. 当前Job已完成的Task必须不小于0.05(5%)
    3. 开启推测执行参数设置。mapred-site.xml文件中默认是打开的。
  • 不能启用推测执行机制情况

    1. 数据太大:负载倾斜
    2. 向数据库的写任务
  • 推测执行算法原理

    1. 推测任务时间:(当前时刻-任务启动时刻)/progess
    2. 推测任务执行结束的时刻:推测任务时间+任务启动时刻
    3. 备份任务推测完成时间:当前时刻+任务完成的平均时间
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值