YARN的架构

YARN用于资源管理和任务调度,划分资源管理和任务调度到分离的程序是YARN的基本思想。
YRAN由三部分构成:

  • 资源管理器(ResourceManager)
  • 节点管理器(NodeManager)
  • 应用控制器(ApplicationMaster)

资源管理器跨机器,跨应用仲裁资源,节点管理器按节点部署,负责监控节点上的资源容器的,节点的资源使用,向资源管理其报告状态。这两者构成了计算框架。应用控制器是一个特定到具体框架的库,负责与资源管理器协商资源使用,和节点管理器一起执行,监控任务执,每个任务具有一个应用控制器。YARN架构
资源管理器由两个组件构成:

  • 调度器(Scheduler)
  • 应用管理器(ApplicationsManager)

调度器负责对各个执行的任务进行资源分配,不负责跟踪监视任务的执行,不保证失败恢复。调度器处理的对象是资源容器,资源容器是一个包含有系统资源的抽象概念,系统资源有内存,网络,CPU,磁盘等,调度器按应用的资源请求进行资源调度。调度器具有可以插拔调度策略的能力,通过不同策略的插件实现不同的调度。
应用管理器负责处理客户端提交的任务请求,协商请求待执行任务的第一个容日用于执行应用控制器,应用管理器也负责在任务执行失败的时候重启对应的应用控制器,应用具体的资源请求,状态,进度监控有应用控制器本身负责。
YARN通过资源预留系统(ReservationSystem)可以实现资源预留,通过联邦(Federation)可以是实现扩展,透明的连接多个Yarn集群,构成一个更大的集群。

发布了106 篇原创文章 · 获赞 15 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/skyupward/article/details/101456256
今日推荐