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计算完成后,可以将自身资源释放掉给其他计算任务使用
相关推荐
l1t2 分钟前
测试DuckDB 2.1的match_recognize模式匹配语句
数据库·duckdb
是Yu欸14 分钟前
鸿蒙PC移植:2048 从网页小游戏到 AI 桌面应用
大数据·人工智能·算法·数据挖掘·openharmony·codex
智搜广告33 分钟前
智搜广告:科技行业AI回答优化公司如何破局
大数据·python·elasticsearch·geo
湘美书院--湘美谈教育1 小时前
湘美书院AI时代的禅悟集:人机智能,反照诸我
大数据·人工智能·深度学习·机器学习·生活
IpdataCloud1 小时前
AI智能体调用工具怎么核验来源IP?归属地、网络类型与代理风险识别(含Python代码)
数据库·python·tcp/ip
曹牧1 小时前
Java:SQL 注入漏洞
数据库
程序员JerrySUN2 小时前
Jetson Edge AI 实战01:Nano、Xavier、Orin 怎么选?Jetson 硬件选型详解【视频讲解】
java·数据库·redis·安全·mybatis
oradh2 小时前
Oracle Undo问题总结(ORA-600 [4xxx] 系列错误)
数据库·oracle
达梦数据2 小时前
DMDRS辅助表生成规则与作用
数据库·oracle
‎ദ്ദിᵔ.˛.ᵔ₎3 小时前
MySQL 表约束
数据库·mysql