🍬 博主介绍
👨🎓 博主介绍:大家好,我是淼淼_喵 ,很高兴认识大家~
✨主攻领域:【大数据开发】【数据仓库】 【ETL】 【数据分析】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝欢迎评论
🙏作者水平有限,欢迎各位大佬指点,相互习进步!
Yarn的作业流程是每个大数据领域的工作者都应该熟记于心的内容,今天我就来整理一下执行流程,记得点赞加收藏哦。
![](https://img-blog.csdnimg.cn/73e1ed1ff08c46d6941617c35229607b.png)
1、用户向 YARN 中提交应用程序,其中包括 MRAppMaster 程序,启动 MRAppMaster 的命令, 用户程序等。
2、ResourceManager 为该程序分配第一个 Container,并与对应的 NodeManager 通讯,要求 它在这个 Container 中启动应用程序 MRAppMaster。
3、MRAppMaster 首先向 ResourceManager 注册,这样用户可以直接通过 ResourceManager 查看应用程序的运行状态,然后将为各个任务申请资源,并监控它的运行状态,直到运行结束,重复 4 到 7 的步骤。
4、MRAppMaster 采用轮询的方式通过 RPC 协议向 ResourceManager 申请和领取资源。
5、一旦 MRAppMaster 申请到资源后,便与对应的 NodeManager 通讯,要求它启动任务。
6、NodeManager 为任务设置好运行环境(包括环境变量、JAR 包、二进制程序等)后,将 任务启动命令写到一个脚本中,并通过运行该脚本启动任务。
7、各个任务通过某个 RPC 协议向 MRAppMaster 汇报自己的状态和进度,以让 MRAppMaster 随时掌握各个任务的运行状态,从而可以在任务失败的时候重新启动任务。
8、应用程序运行完成后,MRAppMaster 向 ResourceManager 注销并关闭自己。
版权归原作者 淼淼_喵 所有, 如有侵权,请联系我们删除。