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月前
|
资源调度 监控 Linux
yarn资源管理之cgroup
yarn资源管理之cgroup
yarn资源管理之cgroup
|
12月前
|
存储 资源调度 分布式计算
Hadoop生态系统中的资源管理与调度技术:YARN的原理与应用案例
Hadoop生态系统中的资源管理与调度技术:YARN的原理与应用案例
|
存储 资源调度 并行计算
走进 Yarn 资源管理和调度|青训营笔记
讲解 YARN 系统的设计思想和整体架构,两个核心模块 Resource Manger 和 Node Manager 的整体架构和主要职责
231 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集群的资源管理系统。
7501 0
|
分布式计算 资源调度 安全
首发预警 | 黑客利用Hadoop Yarn资源管理系统未授权访问漏洞进行攻击
4月30日,阿里云发现,俄罗斯黑客利用Hadoop Yarn资源管理系统REST API未授权访问漏洞进行攻击。 Hadoop是一款由Apache基金会推出的分布式系统框架,它通过著名的 MapReduce 算法进行分布式处理,Yarn是Hadoop集群的资源管理系统。
3698 0
|
分布式计算 资源调度 Hadoop
|
2月前
|
资源调度 分布式计算 Hadoop
Hadoop Yarn 核心调优参数
这是一个关于测试集群环境的配置说明,包括3台服务器(master, slave1, slave2)运行CentOS 7.5,每台有4核CPU和4GB内存。集群使用Hadoop 3.1.3,JDK1.8。Yarn核心配置涉及调度器选择、ResourceManager线程数、节点检测、逻辑处理器使用、核心转换乘数、NodeManager内存和CPU设置,以及容器的内存和CPU限制。配置完成后,需要重启Hadoop并检查yarn配置。