Yarn~Yarn执行MapReduce程序的过程

一、外部执行过程

  • 以Java语言为例,完成源码后,打包成一个jar文件,把这个文件放到Hadoop集群中(可以放在任何节点,最好放在NameNode节点)。需要注意的是,不是放在HDFS中,而是放在某节点的本地文件系统中。
  • 一般用Java执行jar文件,但是jar依赖Hadoop的Java库,为了避免设置classPath的麻烦,一般用Hadoop的bin/hadoop命令执行jar,执行前还需要把要处理的数据在HDFS中准备好

二、内部执行过程

  • MapReduce程序也算是一个Yarn客户端,它利用Yarn的节点完成各阶段处理。阶段的先后关系、每个阶段需要划分多少任务、如何在节点中启动任务、数据如何在阶段间流动都由MapReduce程序决定,它根据自己的需求向Yarn申请Container资源,以支撑自己的流程
  • 一个Yarn客户端主要通过两个组件与Yarn交互:一是作业提交组件、二是ApplicationMaster
  • 作业提交组件运行在bin/hadoop启动jar时创建的进程中,它向RM发出运行程序(一个作业)的请求。RM接收请求后,为程序分配一个Container,在其中运行程序的Application(所以AM组件运行在NM的Container中),此时作业提交的主要任务就完成了。
  • AM向RM请求Container资源,将运行数据处理代码的命令交给Container执行。它注册监听器来监听RM和NM的事件,并在NM崩溃时进行任务错误恢复处理。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值