当前位置: 首页 > news >正文

YARN简介

目录

引入YARN

概念

核心组件

工作流程(以MR为例)


引入YARN

在Hadoop1.0中,资源管理与计算框架强耦合,即mapreduce同时要做计算和集群的资源管理两件事,这就导致几个问题:
1.只能运行mapreduce程序,无法运行其他高效计算框架(如spark);

2.资源分配是预先固定的,任务即使闲着也会不释放,总有资源在浪费;

3.当集群节点超过 4000 个时,JobTracker(资源管理和任务调度的核心组件)会成为性能瓶颈。

资源管理:如何分配硬件资源(如CPU、内存)

任务调度:如何将任务分配到拿到的资源上并监控任务

要解决这些问题,就需要将资源管理和任务调度分开来,并且调整资源分配的策略,而YARN就做到了这些点。

概念

①YARN全称Yet Another Resource Negotiator(又一个资源协调者)。它是Hadoop生态中的资源管理和任务调度平台。可以把它理解为大数据集群的“操作系统”。

②用于统一管理集群的计算资源,并为各类分布式应用分配资源、调度任务。

③遵循主从架构

核心组件

ResourceManager(全局管理者)

主节点,整个集群资源的老大,有两个组件:
①Scheduler(调度器)

只做资源分配。

根据容量、队列等约束条件,将资源分配给各个正在运行的应用程序。

常见的调度策略:默认Capacity Scheduler(将资源划分为多个队列,每个队列有保证的容量,队列内部可以采用 FIFO 或 DRF 等策略)、FIFO(先进先出)、Fair Scheduler(公平调度)

②ApplicationManager(应用程序管理器)

负责管理整个集群中所有应用程序的ApplicationMaster。

接受作业提交,为每个应用程序启动第一个 Container(用来运行 ApplicationMaster),并在 ApplicationMaster 失败时重启它。

NodeManager(单机管理者)

从节点,每个工作节点的代理。

负责启动和管理节点上的Container;定期向RM汇报本节点的资源使用资源使用情况;接收并处理来自RM和ApplicationMaster的命令,如启动或停止Container

ApplicationMaster(应用程序管理者)

最核心的概念。每个提交到YARN的应用程序都有专属于自己的ApplicationMaster。

向ResourceManager的Scheduler申请运行任务所需的资源(Container);与NM通信,在获得的Container中启动和停止具体的计算任务;监控本应用程序内所有任务的状态,在任务失败时重新申请资源以重启任务;向客户端和RM报告应用程序的进度和状态。

Container(容器)

是YARN中对资源的封装。它指定了一个节点上的一定量的资源集合,主要是CPU核心数和内存大小。

所有应用程序的任务(包括ApplicationMaster)都必须在Container中运行;可以想象成一个虚拟机,为任务提供了独立的、受保障的运行环境。

工作流程(以MR为例)

1.客户端向YARN集群提交一个mapreduce程序,ResourceManager的ApplicationsManager接收请求;

2.ApplicationsManager找到一个合适的NodeManager,命令它在第一个Container中启动程序的ApplicationMaster(图中的MR APP Mstr);

3.ApplicationsMaster启动后向RM注册自己,这样客户端就可通过RM查询到它的状态;

4.ApplicationsMaster根据程序的需求,向ResourceScheduler申请相应数量和规格的Container,RS根据集群的资源和调度策略,为ApplicationsMaster分配可用的Container;

5.ApplicationsMaster与分配了Container的NodeManager通信;

6.通信成功后,ApplicationsMaster指示它们启动Container,在每个Container中,NodeManager启动具体的任务,如图中的Reduce Task、Map Task;

7.任务运行中,会向ApplicationsMaster报告进度和状态,ApplicationsMaster持续监控所有任务,如果一个任务失败,它会重新向RM申请资源,然后在新的Container中重新运行该任务;

8.当所有程序的所有任务都完成后,ApplicationsMaster向RM注销并自行关闭。它使用的Container被释放,资源归还给集群。

http://www.dtcms.com/a/519944.html

相关文章:

  • PSO-Transformer-BiLSTM分类预测/故障诊断,优化参数为注意力机制头数、学习率、正则化系数、隐藏层单元,图很多,包括分类效果图,混淆矩阵图
  • AJAX 知识
  • 做淘宝推广开网站合适全球最大的设计网站
  • Java-157 MongoDB 存储引擎 WiredTiger vs InMemory:何时用、怎么配、如何验证 mongod.conf
  • 详细-vue3项目初始化配置流程
  • 电子科技网站太原seo排名
  • 销售记账-成本中心/成本会计分配
  • TensorFlow深度学习实战——链路预测
  • 广州网站建设公司品牌太和县建设局网站
  • 帝国网站的互动专栏怎么做做ppt兼职网站
  • SpringBoot-数据访问之JDBC
  • Linux操作系统-父进程的等待:一个关于回收与终结的故事
  • Adobe After Effects 2025(AE2025解锁版) 电影级特效
  • 云栖实录 | DataWorks 发布下一代 Data+AI 一体化平台,开启企业智能数据新时代
  • uv add openai 和 uv pip install openai 的区别
  • 安装了conda和uv如何创建一个项目?
  • 策略模式解决的核心问题是什么?
  • Jenkins远程命令执行漏洞复现:原理详解+环境搭建+渗透实践(CVE-2018-1000861 3种方法)
  • SQLite 数据类型
  • 一般建设网站大概需要多少钱一流的聊城做网站费用
  • 福永网站设计二级建造师最好的网站
  • 2025第二届中国物流枢纽发展大会影响力如何,给行业带来哪些新方向?
  • 高端制作网站公司seo优化在哪里学
  • 预警!流感季可能将提前!盈电智控物联网技术如何构筑智慧防疫新防线
  • Oracle OCP考试报名常见问题详解
  • 2025企业级智能体平台架构拆解: 如何安全合规下构筑强大的护城河
  • Linux小课堂: SSH 免密登录原理与实现之基于公钥认证的安全连接机制
  • 网站开发公司广告文案网站在哪里
  • 那些免费网站可以做国外贸易网站后期维护工作包括哪些
  • SD卡格式化及挂载