YARN如何实现资源管理?

简介: 【6月更文挑战第19天】YARN如何实现资源管理?

YARN如何实现资源管理?

YARN 通过资源调度器、资源表示模型和增量资源分配机制等实现资源管理。YARN 是 Hadoop 生态系统中的核心组件,负责资源管理和作业调度,使得同一集群能够支持包括批处理、交互式查询和实时流处理等多种类型的计算工作负载[^2^]。具体如下:

  1. 资源调度器
    • 基本架构:YARN中的资源调度器是ResourceManager内的一个可插拔组件,负责整个集群资源的管理和分配[^1^]。它采用双层资源调度模型:第一层由RM将资源分配给AM,第二层由AM进一步将资源分配给内部任务。整个过程是异步的,基于pull通信模型。
    • 调度策略:YARN提供了三种常用的调度器:FIFO (先进先出)、Capacity Scheduler (容量调度器) 和 Fair Scheduler (公平调度器)[^1^]。每种调度器适用于不同的场景,如FIFO适用于简单场景,容量调度器适用于多租户环境,公平调度器则强调资源分配的公平性。
  2. 资源表示模型
    • 节点注册:NodeManager (NM)启动时会向ResourceManager (RM)注册,报告该节点可分配的CPU和内存总量[^1^][^4^]。这些值可通过配置选项设置,如yarn.nodemanager.resource.memory-mb和yarn.nodemanager.resource.cpu-vcores。
    • 资源请求:YARN支持多种资源请求语义,如请求特定节点或机架上的资源量,黑名单机制以及资源归还请求[^1^]。不支持的语义包括任意节点或机架上的特定资源量请求以及超细粒度资源要求。
  3. 增量资源分配机制
    • 资源保证:当单个节点的闲置资源无法满足应用需求时,YARN采用了增量资源分配机制,即预留部分资源直到累计释放的空闲资源满足应用程序需求[^1^]。这种机制虽然可能造成一定资源浪费,但避免了应用程序“饿死”现象。
  4. 层级队列管理
    • 队列结构:YARN的队列是层级关系,每个队列可以包含子队列,用户只能将任务提交到叶子队列[^1^]。管理员可以配置每个队列的资源保证和使用上限,并设置严格的ACL列表来限制用户或用户组提交应用程序的权限。
  5. 调度器详解
    • FIFO:先进先出调度机制,原理简单但不适合多租户环境和复杂任务管理[^1^]。
    • Capacity Scheduler:为每个队列设定资源保证和使用上限,支持资源共享和多租户管理,适合大规模集群[^1^]。
    • Fair Scheduler:动态调整资源分配以保持公平,支持队列间和队列内公平分配,不需要预设资源占用[^1^]。

综上所述,YARN通过灵活的资源调度器、详细的资源表示模型和有效的增量资源分配机制,实现了强大而灵活的资源管理能力。对于企业或用户来说,选择适合自己需求的任务调度器并优化资源配置是提高计算效率的关键。

目录
相关文章
|
2月前
|
分布式计算 资源调度 Hadoop
Hadoop YARN资源管理-容量调度器(Yahoo!的Capacity Scheduler)
详细讲解了Hadoop YARN资源管理中的容量调度器(Yahoo!的Capacity Scheduler),包括队列和子队列的概念、Apache Hadoop的容量调度器默认队列、队列的命名规则、分层队列、容量保证、队列弹性、容量调度器的元素、集群如何分配资源、限制用户容量、限制应用程序数量、抢占申请、启用容量调度器以及队列状态管理等方面的内容。
73 3
|
2月前
|
分布式计算 资源调度 Hadoop
Hadoop YARN资源管理-公平调度器(Fackbook的Fair Scheduler)
详细介绍了Hadoop YARN资源管理中的公平调度器(Fair Scheduler),包括其概述、配置、队列结构、以及如何将作业提交到指定队列,展示了公平调度器如何通过分配文件(fair-scheduler.xml)来控制资源分配,并提供了配置示例和如何通过命令行提交作业到特定队列的方法。
127 0
Hadoop YARN资源管理-公平调度器(Fackbook的Fair Scheduler)
|
3月前
|
资源调度 分布式计算 监控
【揭秘Hadoop YARN背后的奥秘!】从零开始,带你深入了解YARN资源管理框架的核心架构与实战应用!
【8月更文挑战第24天】Hadoop YARN(Yet Another Resource Negotiator)是Hadoop生态系统中的资源管理器,为Hadoop集群上的应用提供统一的资源管理和调度框架。YARN通过ResourceManager、NodeManager和ApplicationMaster三大核心组件实现高效集群资源利用及多框架支持。本文剖析YARN架构及组件工作原理,并通过示例代码展示如何运行简单的MapReduce任务,帮助读者深入了解YARN机制及其在大数据处理中的应用价值。
81 0
|
6月前
|
资源调度 监控 Linux
yarn资源管理之cgroup
yarn资源管理之cgroup
yarn资源管理之cgroup
|
存储 资源调度 分布式计算
Hadoop生态系统中的资源管理与调度技术:YARN的原理与应用案例
Hadoop生态系统中的资源管理与调度技术:YARN的原理与应用案例
|
存储 资源调度 并行计算
走进 Yarn 资源管理和调度|青训营笔记
讲解 YARN 系统的设计思想和整体架构,两个核心模块 Resource Manger 和 Node Manager 的整体架构和主要职责
261 0
走进 Yarn 资源管理和调度|青训营笔记
|
资源调度 分布式计算 监控
YARN——Hadoop的资源管理系统
YARN——Hadoop的资源管理系统
YARN——Hadoop的资源管理系统
|
资源调度 分布式计算 监控
不可不知的资源管理调度器Hadoop Yarn
Yarn(Yet Another Resource Negotiator)是一个资源调度平台,负责为运算程序如Spark、MapReduce分配资源和调度,不参与用户程序内部工作。同样是Master/Slave架构。
不可不知的资源管理调度器Hadoop Yarn
|
分布式计算 安全 Hadoop
你的数据安全么?Hadoop再曝安全漏洞| 黑客利用Hadoop Yarn资源管理系统未授权访问漏洞进行攻击
4月30日,阿里云发现,俄罗斯黑客利用Hadoop Yarn资源管理系统REST API未授权访问漏洞进行攻击。 Hadoop是一款由Apache基金会推出的分布式系统框架,它通过著名的 MapReduce 算法进行分布式处理,Yarn是Hadoop集群的资源管理系统。
7548 0
|
分布式计算 资源调度 安全
首发预警 | 黑客利用Hadoop Yarn资源管理系统未授权访问漏洞进行攻击
4月30日,阿里云发现,俄罗斯黑客利用Hadoop Yarn资源管理系统REST API未授权访问漏洞进行攻击。 Hadoop是一款由Apache基金会推出的分布式系统框架,它通过著名的 MapReduce 算法进行分布式处理,Yarn是Hadoop集群的资源管理系统。
3724 0