Hadoop 教程 - Yarn概述

Apache Hadoop YARN(Yet Another Resource Negotiator)是Hadoop生态系统中的核心组件之一,它作为资源管理和任务调度平台,为Hadoop 2.x版本引入的一个重大改进。YARN的设计目标是将Hadoop从一个单一用途的大数据处理框架转变为一个更加通用的数据处理平台,能够支持多种计算模型,包括但不限于MapReduce、Spark、Tez、Hive LLAP等。

YARN的核心组件:

  1. ResourceManager (RM):

    • RM是YARN的中心服务,负责集群中所有资源的统一管理和分配。它有两个主要的子组件:
      • Scheduler: 负责根据预定的策略分配资源给各个应用程序,但不参与应用程序的监控或状态跟踪。
      • Application Manager (ASM): 负责接收作业提交,为应用程序分配第一个ApplicationMaster,并监控其运行状态。
  2. NodeManager (NM):

    • NM是每个节点上的代理,负责容器的生命周期管理,监控节点资源使用情况,并向ResourceManager汇报资源使用情况。
  3. ApplicationMaster (AM):

    • 每个应用程序实例都有一个AM,由ResourceManager分配。AM负责与ResourceManager协商获取资源,然后与对应的NodeManagers通信以启动和管理容器(Container),监控它们的执行进度,并在应用程序完成后清理资源。
  4. Container:

    • Container是YARN中的资源抽象,表示一定量的CPU、内存、磁盘等资源。应用程序的每个任务都在一个Container中运行。

YARN的工作流程:

  1. 作业提交:

    • 用户提交作业到ResourceManager。
  2. 资源请求和分配:

    • RM为该作业分配第一个Container,并在某个NM上启动AM。
    • AM进一步请求资源以运行作业的任务。
  3. 任务执行:

    • AM通过与NMs通信,为作业的任务分配Container并在这些Container中执行任务。
  4. 监控和状态更新:

    • AM监控任务的执行情况,并定期向RM发送心跳和状态更新。
    • RM和NM之间的通信确保了整个集群资源的动态分配和调整。
  5. 作业完成:

    • 一旦所有任务完成,AM会向RM发送完成信号,随后AM和所有Container会被清理。

YARN的引入极大地提升了Hadoop集群的资源利用率、可伸缩性和灵活性,使得Hadoop能够更好地支持复杂和多样化的数据处理场景。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值