yarn概述

Hadoop yarn
Yarn体系结构
Yarn:一个通用的资源管理平台,采用主从架构
在这里插入图片描述

Yarn的作用
 作业的调度
 管理内存和cpu

在跑mapreduce前,都需要把yarn集群给跑起来
 Resource manager:全局管理器
 Node manager: 驻留在各个从节点的资源管理器
在这里插入图片描述

Yarn的基本思想是将资源管理和job调度/监控的功能分开
 ResourceManager和nodeManager形成数据计算框架
 每个程序有一个applicationMaster,它与resourceManager协商资源,与nodeManager一起执行task和监控task
 ResourceManager有两个主要组件

  • Scheduler和applicationManager
     Scheduler负责为客户端提交的各个运行程序分配资源(基于程序的资源请求),使用抽象的概念container(由内存,cpu,磁盘,网络等组成)
     Scheduler是可插拔的
  • 当前主要调度器有capacityScheduler和fairScheduler
     ApplicationManager负责接收作业提交,协调第一个container用来执行applicationMaster,并提供服务用于在故障时重启applicationMaster container,applicationMaster负责与scheduler协调回合适的资源包,并跟踪他们的状态,监控他们的进度
    在这里插入图片描述

Yarn的资源调度
 调度器(scheduler)

  • Yarn调度器是编写的高效算法,用来管理集群资源
  • Scheduler负责给正在运行的应用程序的不同任务提供资源
  • 可通过resourceManager Web UI查看配置的调度器的详细信息
    http://:8088/cluster/scheduler
  • Yarn提供了接口可用于实现可插拔的调度器
  • Yarn有定义了三种调度器
  1. Fair scheduler:按照内存资源使用量和请求的处理器比率分配
  2. Capacity scheduler:整个集群资源按比例分配给各个队列,队列内资源采用FIFO的方式分配;有严格限制防止个别用户或队列独占资源
    在这里插入图片描述