• Hadoop中的YARN组件



    YARN(Yet Another Resource Negotiator)是 Hadoop 生态系统中的一个关键组件,负责资源管理和作业调度。它是 Hadoop 2.x 及更高版本中的核心模块,旨在提高集群的资源利用率和作业调度效率。以下是 YARN 的详细介绍及其主要功能:

    YARN 的主要功能

    1. 资源管理:

      • 资源分配: YARN 负责管理集群中的所有计算资源(如 CPU、内存等),并将这些资源分配给不同的应用程序。
      • 资源隔离: 通过容器(Container)机制,YARN 确保不同应用程序之间的资源隔离,防止资源争用和冲突。
    2. 作业调度:

      • 作业提交: 用户可以通过 YARN 提交各种类型的作业(如 MapReduce、Spark、Flink 等)。
      • 任务调度: YARN 调度器根据资源可用性和作业优先级,将任务分配到合适的节点上执行。
    3. 容错管理:

      • 任务重试: 如果某个任务失败,YARN 可以自动重试该任务,确保作业的可靠性。
      • 节点故障处理: YARN 可以检测到节点故障,并重新分配受影响的任务到其他健康节点上。

    YARN 的架构

    YARN 的架构主要由以下几个组件组成:

    1. ResourceManager(资源管理器):

      • 作用: ResourceManager 是 YARN 的核心组件,负责全局资源管理和作业调度。
      • 子组件:
        • Scheduler(调度器): 负责资源分配和任务调度。
        • ApplicationManager(应用管理器): 负责管理应用程序的生命周期。
    2. NodeManager(节点管理器):

      • 作用: NodeManager 运行在集群中的每个节点上,负责管理该节点上的资源和任务执行。
      • 功能: 监控容器的资源使用情况,报告资源状态,启动和停止容器。
    3. ApplicationMaster(应用主控):

      • 作用: ApplicationMaster 是每个应用程序的专用管理器,负责应用程序的具体任务调度和执行。
      • 功能: 与 ResourceManager 协商资源,向 NodeManager 请求启动容器,监控任务执行。

    YARN 的工作流程

    1. 作业提交:

      • 用户通过客户端提交作业到 ResourceManager。
      • ResourceManager 为作业分配一个 ApplicationMaster。
    2. 资源协商:

      • ApplicationMaster 向 ResourceManager 请求资源。
      • ResourceManager 根据资源可用性和调度策略,分配资源给 ApplicationMaster。
    3. 任务执行:

      • ApplicationMaster 向 NodeManager 请求启动容器。
      • NodeManager 启动容器并执行任务。
    4. 任务监控:

      • ApplicationMaster 监控任务执行状态,并向 ResourceManager 报告进度。
      • 如果任务失败,ApplicationMaster 可以请求重新执行任务。
    5. 作业完成:

      • 当所有任务完成后,ApplicationMaster 向 ResourceManager 报告作业完成。
      • ResourceManager 释放资源,作业结束。

    YARN 的优势

    • 资源利用率高: YARN 提供了细粒度的资源管理和调度,提高了集群的资源利用率。
    • 扩展性强: YARN 支持多种类型的应用程序(如 MapReduce、Spark、Flink 等),具有良好的扩展性。
    • 容错性好: YARN 提供了任务重试和节点故障处理机制,确保作业的可靠性。

    总结

    YARN 是 Hadoop 生态系统中的资源管理和作业调度框架,负责管理集群中的计算资源,并将这些资源分配给不同的应用程序。通过 YARN,用户可以高效地提交和管理各种类型的作业,提高集群的资源利用率和作业调度效率。

  • 相关阅读:
    【Flutter】Flutter 数据存储 Hive 的简要使用说明
    app自动化测试之Appium问题分析及定位
    【记一次el-select undefined】
    使用Supervisor进行监控进程并实现自动重启
    【C语言刷LeetCode】453. 最小操作次数使数组元素相等(M)
    Spring 常见面试题总结
    实验5、白盒测试:覆盖测试及测试用例设计
    Xenomai 再探
    窄边极简折叠玻璃门,实现自由推拉及折叠,遥控随意切换透明与磨砂效果
    Element plus 实践上的问题
  • 原文地址:https://blog.csdn.net/weixin_46356409/article/details/140464912