YARN 工作原理

YARN工作原理:

 

 

1、用户向YARN 中提交应用程序或者,其中包括ApplicationMaster程序,启动ApplicationMaster命令,用户程序等。

2、ResourceManager 为作业分配第一个Container,并与对应的NodeManager 通信,要求它在这个Container中启动该作业的ApplicationMaster.

3、ApplicationMaster 首先向ResourceManager 注册,这样用户可以直接通过ResourceManager 查询作业的运行状态。然后为各个任务申请资源并监控任务的运行状态,直到运行结束。重复步骤(7)

4、ApplicationMaster 采用轮询的方式通过RPC 请求向ResourceManager 申请和获取资源

5、一旦AppllicationMaster 申请到资源,便与对应的NodeManager通信,要求它启动任务。

6、NodeManager 启动任务

7、各个任务通过RPC协议向ApplicationMaster 汇报自己的状态和进度,以便ApplicationMaster 随时掌握各个任务的运行状态,从而在任务失败的时候重启任务。

8、作业完成之后,ApplicationMaster 向 ResourceManager 注销并关闭自己。

 

转载于:https://www.cnblogs.com/wbringarden/p/10247499.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MR on YARN(MapReduce on Yet Another Resource Negotiator)是一种在Hadoop生态系统中运行MapReduce作业的方式。它的工作原理如下: 1. 提交作业:用户通过客户端向YARN资源管理器(ResourceManager)提交MapReduce作业。作业包括MapReduce程序的代码和配置信息。 2. 资源分配:ResourceManager接收到作业后,将其分解为多个任务(Task),包括Map任务和Reduce任务。然后,ResourceManager根据集群中可用的资源情况,将这些任务分配给不同的节点(NodeManager)执行。 3. 任务执行:每个节点上的NodeManager接收到任务后,会启动一个容器(Container)来执行该任务。容器是一个隔离的执行环境,其中包含了任务所需的资源和环境。 4. Map阶段:在Map阶段,每个Map任务会读取输入数据,并将其划分为多个键值对。然后,Map任务会将这些键值对按照指定的逻辑进行处理,并生成中间结果。 5. Shuffle阶段:在Shuffle阶段,Map任务的中间结果会被分区、排序和分组,以便传输给Reduce任务进行处理。这个过程涉及到数据的排序和网络传输。 6. Reduce阶段:在Reduce阶段,每个Reduce任务会接收到一组经过Shuffle阶段处理的中间结果。Reduce任务会对这些结果进行合并、计算和输出,生成最终的结果。 7. 完成作业:当所有的Map任务和Reduce任务都完成后,作业会被标记为完成,并将最终的结果输出到指定的位置。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值