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计算完成后,可以将自身资源释放掉给其他计算任务使用
相关推荐
小宇成长录6 分钟前
Mysql:数据库和表增删查改基本语句
数据库·mysql·数据库备份
Elastic 中国社区官方博客22 分钟前
使用 Vertex AI Gemini 模型和 Elasticsearch Playground 快速创建 RAG 应用程序
大数据·人工智能·elasticsearch·搜索引擎·全文检索
团儿.1 小时前
解锁MySQL高可用新境界:深入探索MHA架构的无限魅力与实战部署
数据库·mysql·架构·mysql之mha架构
程序猿小D1 小时前
第二百六十七节 JPA教程 - JPA查询AND条件示例
java·开发语言·前端·数据库·windows·python·jpa
CHICX12291 小时前
【Hadoop】改一下core-site.xml和hdfs-site.xml配置就可以访问Web UI
xml·大数据·hadoop
权^2 小时前
MySQL--聚合查询、联合查询、子查询、合并查询(上万字超详解!!!)
大数据·数据库·学习·mysql
Code成立2 小时前
1、深入理解Redis线程模型
数据库·redis·bootstrap
缘友一世4 小时前
macos安装mongodb
数据库·mongodb·macos
万事大吉CC6 小时前
mysql单表查询·3
数据库·mysql
bin91536 小时前
【EXCEL数据处理】000010 案列 EXCEL文本型和常规型转换。使用的软件是微软的Excel操作的。处理数据的目的是让数据更直观的显示出来,方便查看。
大数据·数据库·信息可视化·数据挖掘·数据分析·excel·数据可视化