45、介绍yarn
是一个集群资源管理器,主要由两个组件:RM和NM
RM:负责整个集群的资源管理和调度,接收来自客户端程序提交的请求,根据资源进行分配,也负责监控集群中的资源使用情况
NM:每个节点上运行运行一个NM,负责管理该节点上的资源,接收来自RM的指令,分配或者释放资源
46、yarn工作流程
1、用户通过客户端向RM提交应用程序
2、RM根据可用资源和调度策略,为应用程序分配所需的资源
3、每个节点上的NM接收来自RM的任务分配,并在该节点上启动和管理任务的执行
4、RM和NM定期报告资源使用清除那个和任务状态
46、YARN有几个模块
1、RM
2、NM
3、ApplicationMaster:每个应用程序都有一个ApplicationMaster,是应用程序内部主管,与RM通信,协调应用程序的资源请求和任务执行,
4、Container:封装了资源的概念,是yarn中任务运行的基本单位,RM将资源分配给应用程序管理器,会创建容器来运行应用程序的任务
补充:yarn资源调度机制
Hadoop的作业调度器有三种:FIFO、Capacity Scheduler和Fair Scheduler
1、FIFO
整个集群提交的作业都是用一个队列来进行服务,根据提交作业的顺序来运行,先来先服务
2、容量调度器
将整个集群的资源分为队列,每个队列之间的资源互不干扰,可分为生产和开发环境,且可以在每一个对队列里面使用FIFO调度策略
3、Fair Scheduler(资源调度器)
支持多个队列,每个队列配置一定的资源,每个队列中的job任务公平共享所在队列的所有资源,队列中的job任务都是按照优先级分配资源,优先级越高分配的资源越多,会公平保证每个job都会分配到资源