Hadoop的yarn工作机制

在Hadoop 2.0时代,增加了Yarn。Yarn只负责资源调度,MapReduce只负责计算。

1、Yarn概述

yarn 是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而 MapReduce 等运算程序则相当于运行于操作系统之上的应用程序

2、yarn的基本架构

YARN 主要由 ResourceManager NodeManager ApplicationMaster Container 等组件构成。
         

3、Yarn的工作机制

1)、Yarn运行机制
             

2)、工作机制详解

  1. Mr 程序提交到客户端所在的节点。
  2. Yarnrunner Resourcemanager 申请一个 Application
  3. rm将该应用程序的资源路径返回给 yarnrunner
  4. 该程序将运行所需资源提交到 HDFS 上。
  5. 程序资源提交完毕后,申请运行 mrAppMaster
  6. RM 将用户的请求初始化成一个 task
  7. 其中一个 NodeManager 领取到 task 任务。
  8. NodeManager 创建容器 Container, 并产生 MRAppmaster
  9. Container HDFS 上拷贝资源到本地。
  10. MRAppmaster RM 申请运行 maptask 资源。
  11. RM 将运行 maptask 任务分配给另外两个 NodeManager, 另两个 NodeManager 分别领取任务并创建容器。
  12. MR 向两个接收到任务的 NodeManager 发送程序启动脚本, 这两个 NodeManager分别启动 maptaskmaptask 对数据分区排序
  13. MrAppMaster 等待所有 maptask 运行完毕后,向 RM 申请容器, 运行 reduce task
  14. reduce task maptask 获取相应分区的数据。
  15. 程序运行完毕后, MR 会向 RM 申请注销自己。
以上就是Yarn的工作机制详细分解,有错误还望多多指正。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Hadoop中的YARN是一个资源管理器,可以管理集群中的资源,包括内存、CPU和磁盘等。它可以管理作业的执行和资源分配,同时提供了故障转移和高可用性等功能。YARN采用了面向应用程序的资源管理器,使得不同类型的应用程序可以共享集群资源,从而提高了资源的利用率和集群的利用率。YARNHadoop生态系统中的一个核心组件,广泛应用于大数据处理、机器学习和人工智能等领域。 ### 回答2: YARN(Yet Another Resource Negotiator)是Hadoop中的集群资源管理器,旨在解决Hadoop 1.x版本中资源管理和作业调度的局限性。YARN的出现使得Hadoop能够支持更灵活的作业运行方式,提高了集群的资源利用率和作业执行效率。 YARN的核心组件包括资源管理器(ResourceManager)和节点管理器(NodeManager)。资源管理器负责管理整个集群的资源,并为所有应用程序分配适当数量的资源。节点管理器负责在各个节点上启动、监视和停止容器,容器是运行在节点上的应用程序的运行环境。 在YARN中,用户可以通过使用不同的应用程序框架(如MapReduce、Spark等)来运行任务。应用程序被分为多个任务,每个任务由一个或多个容器运行。当一个应用程序被提交时,资源管理器将为其分配合适的资源,并在节点管理器上启动容器。节点管理器负责监控容器的运行状态,并在需要时重启失败的容器。一旦一个任务完成,节点管理器将释放相关的资源。 YARN的出现使得Hadoop能够更好地与其他计算框架进行整合,例如支持在同一个集群中同时运行MapReduce和Spark作业。通过动态分配资源、弹性调度和容错机制YARN能够更好地适应不同的作业需求和资源利用情况。此外,YARN还具有良好的可伸缩性,能够支持集群规模的快速扩展。 总之,YARNHadoop生态系统中起到了关键的作用,它提供了一个灵活高效的资源管理和作业调度平台,使得Hadoop能够更好地满足大数据处理的需求。 ### 回答3: Hadoop中的YARN是Yet Another Resource Negotiator(另一种资源协调器)的缩写,它是Hadoop的一个核心组件。YARN的主要目标是改善Hadoop的资源管理和任务调度。 在Hadoop早期版本中,MapReduce框架负责所有任务的管理、资源分配和任务调度。然而,随着Hadoop集群的规模和复杂度不断增加,原始的MapReduce实现已经不能满足大规模并行运算的需求。 YARN的引入解决了这些问题。YARNHadoop集群的资源管理和任务调度从MapReduce框架中分离出来。它引入了一个全新的资源管理器(ResourceManager)和应用程序管理器(ApplicationMaster)。 ResourceManager负责整个集群的资源管理,它通过分配和监控集群中的资源,在集群各节点之间合理分配计算、存储和网络资源。ResourceManager可以通过配置,为不同的应用程序分配不同的计算资源,确保集群的资源利用率达到最优。 ApplicationMaster则是每个应用程序(如MapReduce、Spark等)的管理者,它与ResourceManager通信,并协调任务的执行。每个应用程序实例在启动时都会与ResourceManager注册一个ApplicationMaster,并负责分配和管理任务。 通过引入YARNHadoop架构变得更加灵活和可扩展。除了MapReduce,现在可以使用其他计算框架,如Spark和Flink,利用YARN完成任务调度。这为开发人员提供了更多选择,并提高了Hadoop集群的利用率。 总的来说,YARNHadoop中起到了关键的作用,通过分离资源管理和任务调度,实现了更高效的资源利用和任务管理。它为Hadoop生态系统的发展提供了基础,并为用户提供了更多灵活和可扩展的选择。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值