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

YARN基本架构

主要由ResourceManager、NodeManager、ApplicationMaster和Container等组件构成,如图所YA示。

 

ResourceManagerRM

RM是全局资源管理器,负责整个系统的资源管理和分配

主要由两个组件构成:Scheduler调度器和应用程序管理器AM

Scheduler:调度器

调度器根据容量、队列等限制条件,将系统中的资源分配给各个正在运行的应用程序,不负责具体应用程序相关的工作,比如监控或跟踪状态,不负责重新启动失败任务,资源分配单位用“资源容器”(Resource Container)表示。

Container是一个动态资源分配单位,它将内存、CPU、磁盘、网络等资源封装在一起,从而限定每个任务的资源量,调度器是一个可拔插的组件,用户可以自行设计,YARN提供了多种直接可用的调度器,比如Fair Scheduler和Capacity Scheduler等。

应用程序管理器

负责管理整个系统中所有应用程序

ApplicationMater(AM)

用户提交的每个应用程序均包含一个AM

AM主要功能:与RM调度器协商以获取资源(用Container表示),将得到的任务进一步分配给内部的任务

与NM通信以启动/停止任务

监控所有任务运行状态,并在任务运行失败时重新为任务申请资源以重启任务

当前YARN自带了两个AM实现

一个用于演示AM编写方法的示例程序distributedshell

一个运行MapReduce程序—MRAppMaster

NodeManager(NM)

NM是每个节点上的资源和任务管理器

定时向RM汇报本节点上的资源使用情况和各个Container的运行状态

接收并处理来自AM的Container启动/停止等各种请求

Container

Container是YARN中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等。

YARN会为每个任务分配一个Container,且该任务只能使用该Container中描述的资源。

Container不同于MR中的slot,它是一个动态资源划分单位,是根据应用程序的需求动态生成的

http://www.lryc.cn/news/33925.html

相关文章:

  • 【C++复习】类和对象全知识点总结
  • 基于轻量级YOLOv5开发构建汉字检测识别分析系统
  • leetcode-每日一题-66(简单题,数组)
  • LeetCode295之数据流的中位数(相关话题:优先队列)
  • 助你加速开发效率!告别IDEA卡顿困扰的性能优化技巧
  • Java设计模式-适配器模式
  • Linux 练习六 (IPC 管道)
  • 合并两个有序链表(精美图示详解哦)
  • 33 JSON操作
  • 三八妇女节快乐----IT女神活动随笔
  • 【PSO-PID】使用粒子群算法整定PID参数控制起动机入口压力值
  • 当代数据分析指南:激发商业洞见的七个方法(上)
  • javaWeb核心02-JSP、EL、JSTL、MVC
  • spring-boot+mybatis-plus连接Oracle数据库,及查询相关数据
  • 电商使用CRM系统有什么好处,如何选择
  • Nacos2.2.0多数据源适配oracle12C-修改Nacos源码
  • 第十四届蓝桥杯三月真题刷题训练——第 5 天
  • 大数据框架之Hive:第3章 DDL(Data Definition Language)数据定义
  • 概率论小课堂:统计学是大数据方法的基础
  • 监控集群概念讲解
  • 如何通过DAS连接GaussDB
  • 支持在局域网使用的项目管理系统有哪些?5款软件对比
  • Linux CentOS7 MySQL 5.7安装
  • Kubernetes学习(四)控制器
  • vue组件间通信的几个方法
  • 商品价格区间设置与排序--课后程序(Python程序开发案例教程-黑马程序员编著-第4章-课后作业)
  • mybatis中sqlSession的使用
  • TPOT(Tree-based Pipeline Optimization Tool) API简介
  • Java 19和IntelliJ IDEA,如何和谐共生?
  • js循环判断的方法