hadoop中了解yarm

Hadoop中的YARN(Yet Another Resource Negotiator)是一种新的Hadoop资源管理器,是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度。以下是其相关介绍:

核心思想

将JobTracker的资源管理和作业调度/监控功能分离,创建一个全局的ResourceManager(RM)和若干个针对应用程序的ApplicationMaster(AM)。

主要架构

  • ResourceManager(RM):是全局资源管理器,负责整个系统的资源管理和分配,由调度器(Scheduler)和应用程序管理器(ApplicationsManager,ASM)构成。调度器根据容量、队列等限制条件将资源分配给应用程序;应用程序管理器负责管理所有应用程序,包括提交、启动AM及监控其状态。

  • ApplicationMaster(AM):每个应用程序包含一个AM,主要功能是与RM调度器协商获取资源,将任务分配给内部任务,与NM通信启动/停止任务,监控任务状态并在失败时重启任务。

  • NodeManager(NM):是每个节点上的资源和任务管理器,定时向RM汇报资源使用和Container运行状态,接收并处理来自AM的Container启动/停止等请求。

  • Container:是YARN中的资源抽象,封装了节点上的多维度资源,如内存、CPU等。AM向RM申请资源时,RM返回的资源用Container表示,任务只能使用Container中描述的资源。

优点

大大减小了JobTracker的资源消耗,让监测任务状态的程序分布式化;AM可变更,使更多类型的编程模型能在Hadoop集群中运行;以内存为单位表示资源更合理;将监控任务运行状况的负担从JobTracker转移到AM,提高了系统的稳定性和可扩展性。

调度器

YARN提供了多种调度器,如FIFO Scheduler(先进先出,适合低负载集群)、Capacity Scheduler(将资源分为多个队列,允许共享集群,保证每个队列最小资源使用)和Fair Scheduler(公平地将资源分给应用,使所有应用平均得到相同资源份额)。

相关推荐
码字的字节5 小时前
深入解析YARN中的FairScheduler与CapacityScheduler:资源分配策略的核心区别
hadoop·capacity·fairscheduler
Johny_Zhao5 小时前
Centos8搭建hadoop高可用集群
linux·hadoop·python·网络安全·信息安全·云计算·shell·yum源·系统运维·itsm
码字的字节1 天前
深入解析Hadoop高频面试题:HDFS读/写流程的RPC调用链
hadoop·hdfs·rpc
白日与明月1 天前
Hive-vscode-snippets
hive·hadoop·vscode
Sirius Wu1 天前
Hive的窗口函数
数据仓库·hive·hadoop
码字的字节1 天前
深入解析HBase如何保证强一致性:WAL日志与MVCC机制
hadoop·hbase·wal·mvcc
zhixingheyi_tian1 天前
Hadoop 之 Yarn
大数据·hadoop·分布式
码字的字节1 天前
深入解析Hadoop MapReduce中Reduce阶段排序的必要性
大数据·hadoop·mapreduce·reduce
Sirius Wu2 天前
一文说清楚Hive
数据仓库·hive·hadoop·后端
码字的字节2 天前
Hadoop磁盘I/O瓶颈的监控与优化:从iostat指标到JBOD vs RAID的深度解析
大数据·hadoop·分布式·raid·iostat·磁盘i/o·jbod