Hive进阶(5)----yarn的资源调度策略

yarn的资源调度策略

YARN(Yet Another Resource Negotiator)是Apache Hadoop的资源管理器。它负责集群资源的管理和作业调度。YARN的资源调度是通过几个关键组件来实现的:

  1. ResourceManager(RM):RM是YARN集群的主要组件之一。它负责整个集群的资源管理和调度。RM有两个主要组件:调度器(Scheduler)和应用程序管理器(ApplicationManager)。

  2. 调度器(Scheduler):调度器负责将集群资源分配给不同的应用程序。它有不同的实现,如容量调度器(Capacity Scheduler)和公平调度器(Fair Scheduler),每种调度器都有不同的调度策略。

  3. 应用程序管理器(ApplicationManager):应用程序管理器负责接收来自客户端的应用程序提交请求,并为每个应用程序分配一个应用程序主管(ApplicationMaster)。

  4. NodeManager(NM):NM是每个节点上的代理,负责管理该节点上的资源和容器。它向RM报告节点的可用资源,并执行由RM分配的容器。

一、资源调度流程

1-mapreduce提交计算任务给ResourceManager

2-RM中的applicationmanager负责创建applicationMaster进程

3-applicationMaster和applicationmanager保持通讯

4-applicationMaster找RM中的ResourceScheduler(资源调度器)申请计算需要的资源

5-applicationMaster通知对应的NodeManger创建资源空间container

6-在资源空间中先运行map阶段的计算,先运行reduce阶段的计算

7-map和reduce运行期间会将自身状态信息汇报给applicationMaster

8-计算完成后,applicationMaster通知NodeManger释放资源

9-资源释放后再通知applicationmanager把自身(applicationMaster)关闭释放资源

二、yarn的资源调度策略

先进先出

  • 谁先抢到资源谁使用所有资源

  • 资源利用效率低

  • 如果遇到一个计算时间较长的任务,保资源占用后。其他的任务就无法计算

容量调度

  • 将资源分成多份,不同计算任务使用不同的资源大小

公平调度

  • 资源全部给一个计算任务使用,但是当计算任务中的某个map或reduce计算完成后,可以将自身资源释放掉给其他计算任务使用
相关推荐
BestandW1shEs2 小时前
谈谈Mysql的常见基础问题
数据库·mysql
重生之Java开发工程师2 小时前
MySQL中的CAST类型转换函数
数据库·sql·mysql
教练、我想打篮球2 小时前
66 mysql 的 表自增长锁
数据库·mysql
Ljw...2 小时前
表的操作(MySQL)
数据库·mysql·表的操作
哥谭居民00012 小时前
MySQL的权限管理机制--授权表
数据库
wqq_9922502772 小时前
ssm旅游推荐系统的设计与开发
数据库·旅游
难以触及的高度3 小时前
mysql中between and怎么用
数据库·mysql
Natural_yz3 小时前
大数据学习17之Spark-Core
大数据·学习·spark
Jacky(易小天)3 小时前
MongoDB比较查询操作符中英对照表及实例详解
数据库·mongodb·typescript·比较操作符