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

yarn的定义,yarn的三大组件及各自作用,yarn的三个资源调度策略

yarn的定义:

YARN 是一个通用的集群资源管理系统,它能够为运行在 Hadoop 集群上的各种应用程序(如 MapReduce、Spark、Flink 等)提供统一的资源调度和管理服务。它使得不同类型的计算框架可以共享集群资源,提高了资源的利用率和集群的灵活性

YARN 的架构主要由三个核心组件构成:

  • ResourceManager(RM):它是整个集群的资源管理器,负责全局的资源分配和调度。它接收来自各个 NodeManager 的资源使用报告,并根据应用程序的资源需求进行合理分配。
  • NodeManager(NM):它是每个节点上的代理,负责管理该节点上的资源使用情况和容器的生命周期。它会定期向 ResourceManager 汇报节点的资源使用情况,并根据 ResourceManager 的指令启动、监控和停止容器。
  • ApplicationMaster(AM):每个应用程序都有一个对应的 ApplicationMaster,它负责与 ResourceManager 协商获取资源,并与 NodeManager 通信以启动和监控任务的执行。

主要作用

  • 资源统一管理:YARN 可以对集群中的 CPU、内存等资源进行统一管理和分配,避免了不同计算框架之间的资源竞争和冲突。
  • 支持多计算框架:它为不同的计算框架提供了一个通用的资源管理平台,使得多种计算框架可以在同一个集群上共存和运行,提高了集群的利用率和灵活性。
  • 提高集群扩展性:通过将资源管理和计算框架分离,YARN 使得 Hadoop 集群可以更方便地进行扩展,支持更多的节点和应用程序。

1. 容量调度器(Capacity Scheduler)

  • 核心原理:将集群资源划分为多个独立的队列,每个队列都有一定的资源容量,并且可以设置资源的最大和最小使用量。不同的队列可以分配给不同的用户组或应用程序类型,每个队列内部采用先进先出(FIFO)的调度方式。
  • 优点
    • 多租户支持:不同用户或用户组可以使用不同的队列,实现资源的隔离和共享,避免了单个用户或应用程序占用过多资源影响其他任务。
    • 灵活性:可以根据业务需求动态调整队列的资源容量,以适应不同的工作负载。
  • 缺点:当某个队列资源有剩余,而其他队列资源不足时,剩余资源不能被有效利用,可能导致资源浪费。
  • 适用场景:适合多用户、多应用程序共享集群资源的场景,例如企业内部不同部门使用同一个 Hadoop 集群进行数据分析。

2. 公平调度器(Fair Scheduler)

  • 核心原理:公平调度器的目标是在多个应用程序之间公平地分配资源。它会记录每个应用程序的资源使用情况,优先为资源使用较少的应用程序分配资源,以保证每个应用程序都能公平地获取资源。当新的应用程序提交时,会自动为其分配资源,并且随着时间的推移,各个应用程序会逐渐获得公平的资源份额。
  • 优点
    • 公平性:确保所有应用程序都能在合理的时间内获得资源,避免了某个应用程序长时间占用资源而导致其他应用程序等待。
    • 动态调整:能够根据应用程序的运行情况动态调整资源分配,提高资源利用率。
  • 缺点:调度算法相对复杂,可能会增加一定的调度开销。
  • 适用场景:适合对公平性要求较高的场景,例如多个用户同时提交交互式查询任务的场景。

3. 先进先出调度器(FIFO Scheduler)

  • 核心原理:按照应用程序提交的先后顺序依次调度,先提交的应用程序先获得资源并执行,直到该应用程序完成后,才会为下一个应用程序分配资源。
  • 优点:调度算法简单,易于理解和实现,不需要复杂的资源管理和调度策略。
  • 缺点:缺乏资源隔离和公平性,如果一个大的应用程序先提交,后续的小应用程序可能需要等待很长时间才能执行,导致资源利用率低下。
  • 适用场景:适合单个用户或应用程序独占集群资源,或者对公平性要求不高的场景,例如在开发和测试环境中使用。

相关文章:

  • 音乐播放对接状态栏MediaSession控制
  • Yocto项目实战教程 · 第4章:4.3小节-层
  • 2025年03月中国电子学会青少年软件编程(Python)等级考试试卷(五级)答案 + 解析
  • Linux:线程概念与控制
  • L38.【LeetCode题解】四数之和(双指针思想) 从汇编角度分析报错原因
  • 如何在米尔-STM32MP257开发板上部署环境监测系统
  • DeepSeek编程新手全栈指南:从Python到网站搭建的避坑实战手册
  • 力扣最热一百题——二叉搜索树中第 K 小的元素
  • namesapce、cgroup
  • 边缘计算网关组态功能的定义
  • 计算机视觉cv2入门之车牌号码识别
  • 代码随想录算法训练营day7(字符串)
  • C++:PTA L1-006 连续因子
  • 中华传承-医山命相卜-梅花易数
  • leetcode0145. 二叉树的后序遍历-easy
  • 班翎流程平台 | 全新Agent节点,助您构建企业智能流程
  • 极狐GitLab 登录限制如何设置?
  • React 列表渲染基础示例
  • 【裁判文书网DES3数据解密】逆向分析
  • HTTP测试智能化升级:动态变量管理实战与效能跃迁
  • 历史学家许福谦逝世,长期致力于魏晋南北朝史研究
  • 美国佛罗里达州立大学发生枪击事件
  • 又有多名券商员工考公转型,近两年证券从业人员数量减逾7%
  • 广西贵港干旱村民抽水救甘蔗,镇政府:已组织打井、布管
  • 马上评丨婚介服务是“甜蜜的事业”,不容乱象滋生
  • 李强主持国务院第十三次专题学习