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

  • YARN 运行过程剖析
  • YARN设计目标

YARN 运行过程剖析

【Hadoop】 YARN 运行过程/YARN设计目标_第1张图片
一个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等

【Hadoop】 YARN 运行过程/YARN设计目标_第2张图片

你可能感兴趣的:(hadoop,大数据,分布式)