【Hadoop】 YARN 运行过程/YARN设计目标
发布时间:2023年12月23日
YARN 运行过程剖析
一个Job在YARN中的处理过程:
- 客户端向RM提交一个job,进入RM中的调度器队列以供调度
- RM中的AppManager与NM协商协商好一个容器,以启动一个App Master实例
- App Master启动之后向RM注册并根据Job的task情况来请求容器
- NM启动容器运行task,运行过程中向App Master回报进度状态信息,同时NM也会定时地向RM汇报容器的使用情况
- 在容器执行期间,客户端可以通过查询RM或直接与App Master联系来获取应用的进度和状态
- 执行完成之后,App Master向RM报告结束并释放容器资源
在这个过程中:
- ResourceManager是单点故障。可以配置Zookeeper来解决这个问题,实现HA高可用
- NodeManager失败后,RM将失败任务告诉对应的App Master,AM决定如何处理失败的任务
- ApplicationMaster失败后,由RM负责重启。 AM需处理内部任务的容错问题。RM/AppMaster会保存完成的Task,重启后无需重新运行
YARN设计目标
YARN提供一个通用的统一资源管理系统,能够同时运行长应用程序和短应用程序
- 长应用程序通常情况下,永不停止运行的程序。比如程序- Service、HTTP Server等
- 短应用程序是在短时间(秒级、分钟级、小时级)内会运行结束的程序。比如MRjob、Spark Job等
文章来源:https://blog.csdn.net/m0_60511809/article/details/135042994
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!