YARN发展和架构组件功能详解

简介: YARN的架构YARN业务架构图ResourceManager全局资源管理器,整个集群只有一个,负责集群资源的统一管理和调动分配。

YARN的架构

YARN业务架构图

ResourceManager

全局资源管理器,整个集群只有一个,负责集群资源的统一管理和调动分配。(可以理解为肯德基里面唯一一个收银员,处理客户请求,启用客户下单处理的厨师,并且监控厨师,为订单分配厨房资源 )
  • 处理客户端请求
  • 启动/监控ApplicationMaster
  • 监控NodeManager
  • 资源分配与调度

The ResourceManager has two main components: Scheduler and ApplicationsManager.
ResourceManager有两个主要组件:Scheduler 和ApplicationsManager.

Scheduler介绍

Scheduler负责为各种运行中的应用程序分配资源,这些应用程序通常受到容量、队列等的限制。Scheduler是纯粹的调度程序,因为它不为应用程序执行状态监视或跟踪。此外,它也不能保证由于应用程序故障或硬件故障而重新启动失败的任务。Scheduler根据应用程序的资源需求执行其调度功能;它是基于资源容器(Container)的抽象概念执行的,该概念包含内存、CPU、磁盘、网络等元素。在第一个版本中,只支持内存。

ApplicationsManager介绍

The ApplicationsManager is responsible for accepting job-submissions, negotiating the first container for executing the application specific ApplicationMaster and provides the service for restarting the ApplicationMaster container on failure.
ApplicationsManager负责接受作业提交,协商执行特定于应用程序的ApplicationMaster的第一个容器,并为失败时重新启动ApplicationMaster容器提供服务。

NodeManager介绍

整个集群有多个,负责点节点的资源的管理和使用。

  • 单个节点上的资源管理
  • 处理来自ResourceManager的命令
  • 处理来自ApplicationMaster的命令
    NodeManager管理抽象容器,这些容器代表可供一个特定应用程序使用节点资源。
    并向ResourceManager/Scheduler报告的每台机器框架代理。

The NodeManager is the per-machine framework agent who is responsible for containers, monitoring their resource usage (cpu, memory, disk, network) and reporting the same to the ResourceManager/Scheduler.
NodeManager是负责容器、监视它们的资源使用情况(CPU、内存、磁盘、网络)并向ResourceManager/Scheduler报告的每台机器框架代理。

ApplicationMaster

管理一个在yarn内运行的应用程序的每个实例(hive,spark)

  • 数据切分
  • 为应用程序申请资源,并分配给内部任务
  • 任务监控与容错

负责协调来自ResourceManager的资源,通过nodeManager监视容器的执行和资源使用(cpu、内存等资源分配)

container

image.png

yarn资源管理

image.png

说明:yarn主要工作是资源调度和资源隔离。他是一个部门经理,可以在不同的项目组调度任何人员,而各个资源(人员)是各个项目组的。部门经理只是协调资源,任务下达,而项目组长需要根据任务要求提供相应的资源(人员),项目组长保证这个人只处理这个任务。这个人员不会共享。

类比:ResourceManager表示部门经理、nodemanager表示项目组长、container表示组员、applicationMaster表示项目经理

目录
相关文章
|
27天前
|
消息中间件 存储 Java
RocketMQ(一):消息中间件缘起,一览整体架构及核心组件
【10月更文挑战第15天】本文介绍了消息中间件的基本概念和特点,重点解析了RocketMQ的整体架构和核心组件。消息中间件如RocketMQ、RabbitMQ、Kafka等,具备异步通信、持久化、削峰填谷、系统解耦等特点,适用于分布式系统。RocketMQ的架构包括NameServer、Broker、Producer、Consumer等组件,通过这些组件实现消息的生产、存储和消费。文章还提供了Spring Boot快速上手RocketMQ的示例代码,帮助读者快速入门。
|
1月前
|
存储 分布式计算 API
大数据-107 Flink 基本概述 适用场景 框架特点 核心组成 生态发展 处理模型 组件架构
大数据-107 Flink 基本概述 适用场景 框架特点 核心组成 生态发展 处理模型 组件架构
83 0
|
10天前
|
SQL 数据采集 分布式计算
【赵渝强老师】基于大数据组件的平台架构
本文介绍了大数据平台的总体架构及各层的功能。大数据平台架构分为五层:数据源层、数据采集层、大数据平台层、数据仓库层和应用层。其中,大数据平台层为核心,负责数据的存储和计算,支持离线和实时数据处理。数据仓库层则基于大数据平台构建数据模型,应用层则利用这些模型实现具体的应用场景。文中还提供了Lambda和Kappa架构的视频讲解。
【赵渝强老师】基于大数据组件的平台架构
|
1月前
|
Kubernetes 调度 算法框架/工具
NVIDIA Triton系列02-功能与架构简介
本文介绍了NVIDIA Triton推理服务器的功能与架构,强调其不仅适用于大型服务类应用,还能广泛应用于各类推理场景。Triton支持多种模型格式、查询类型和部署方式,具备高效的模型管理和优化能力,确保高性能和系统稳定性。文章详细解析了Triton的主从架构,包括模型仓库、客户端应用、通信协议和推理服务器的核心功能模块。
64 1
NVIDIA Triton系列02-功能与架构简介
|
1月前
|
SQL 存储 分布式计算
大数据-157 Apache Kylin 背景 历程 特点 场景 架构 组件 详解
大数据-157 Apache Kylin 背景 历程 特点 场景 架构 组件 详解
25 9
|
1月前
|
机器学习/深度学习 存储 搜索推荐
NVIDIA Ampere 架构的结构化稀疏功能及其在搜索引擎中的应用
NVIDIA Ampere架构引入了结构化稀疏功能,显著加速了深度学习模型的推理过程。通过2:4的稀疏模式,即每4个相邻权重中有至少2个为0,实现了高效的内存访问和模型推理加速,同时保持了模型精度。腾讯机器学习平台部门利用这一特性,通过渐进式训练方法,实现了模型在搜索引擎中的高效部署与应用,如相关性预测、查询性能预测等场景,不仅提升了处理速度,还在某些情况下超过了原有模型的精度。此外,NVIDIA还提供了TensorRT和cuSPARSELt库,进一步增强了稀疏模型的推理效率。
20 0
 NVIDIA Ampere 架构的结构化稀疏功能及其在搜索引擎中的应用
|
1月前
|
消息中间件 监控 Java
大数据-109 Flink 体系结构 运行架构 ResourceManager JobManager 组件关系与原理剖析
大数据-109 Flink 体系结构 运行架构 ResourceManager JobManager 组件关系与原理剖析
65 1
|
22天前
|
数据管理 Nacos 开发者
"Nacos架构深度解析:一篇文章带你掌握业务层四大核心功能,服务注册、配置管理、元数据与健康检查一网打尽!"
【10月更文挑战第23天】Nacos 是一个用于服务注册发现和配置管理的平台,支持动态服务发现、配置管理、元数据管理和健康检查。其业务层包括服务注册与发现、配置管理、元数据管理和健康检查四大核心功能。通过示例代码展示了如何在业务层中使用Nacos,帮助开发者构建高可用、动态扩展的微服务生态系统。
66 0
|
28天前
|
消息中间件 运维 NoSQL
基础架构组件选型及服务化
【10月更文挑战第15天】本文概述了分布式系统中常见的基础架构组件及其选型与服务化的重要性。
|
1月前
|
消息中间件 运维 NoSQL
基础架构组件选型及服务化
【10月更文挑战第2天】本文介绍了常见的分布式基础架构组件,包括分布式服务化框架(如Dubbo、Spring Cloud)、分布式缓存(如Redis、Memcached)、数据库及分布式数据库框架(如MySQL、TiDB)、消息中间件(如Kafka、RabbitMQ)和前端接入层(如LVS、Nginx)。文中探讨了组件选型问题,强调统一标准的重要性,避免重复劳动与维护难题。最后,提出基础架构服务化的必要性,通过标准化和平台化提升运维效率

热门文章

最新文章