【Hadoop】 YARN 运行过程/YARN设计目标

发布时间:2023年12月23日

YARN 运行过程剖析

在这里插入图片描述
一个Job在YARN中的处理过程:

  1. 客户端向RM提交一个job,进入RM中的调度器队列以供调度
  2. RM中的AppManager与NM协商协商好一个容器,以启动一个App Master实例
  3. App Master启动之后向RM注册并根据Job的task情况来请求容器
  4. NM启动容器运行task,运行过程中向App Master回报进度状态信息,同时NM也会定时地向RM汇报容器的使用情况
  5. 在容器执行期间,客户端可以通过查询RM或直接与App Master联系来获取应用的进度和状态
  6. 执行完成之后,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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。