• 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,用户可以高效地提交和管理各种类型的作业,提高集群的资源利用率和作业调度效率。

  • 相关阅读:
    Python 线性查找
    支持亿级标签接入,ClickHouse在广域物联网云平台架构的探索与实践
    linux: network: sysctl: netdev_budget_usecs的出现
    附下载 | 图解密评联委会《商用密码应用安全性评估FAQ(第二版)》
    【ArcGIS】渔网A和不规则栅格B算面积比
    CSS样式
    linux-内存管理
    Self-Supervised Exploration via Disagreement论文笔记
    运算符、流程控制
    双向控制舵机(树莓派版)
  • 原文地址:https://blog.csdn.net/weixin_46356409/article/details/140464912