yarn的基本架构

yarn的基本设计思想是将资源管理和job的调度和监控功能拆分成两个单独的守护进程。具体实现是有一个全球的ResourceManager(RM)和每个应用程序有一个ApplicationMaster(AM)。应用程序可以是单个job或DAG jobs。

ResourceManager和与NodeManager组成整个数据计算框架。ResourceManager是系统中掌控所有应用的资源分配的最终决策者,NodeManager是每台机器上的框架代理,它负责监测containers的资源使用情况(CPU,内存,磁盘,网络),并向ResourceManager和Scheduler汇报。

每个应用程序ApplicationMaster实际上是一个特定的框架库(a framework specific library ),其任务是:
1)与ResourceManager协商并获得资源
2))和NodeManager(S)合作,执行和监控tasks。




ResourceManager由两个组件构成:调度器Scheduler 和 应用管理器ApplicationsManager.
调度器根据容量,队列等之间的密切约束,将系统中的资源分配给各个正在运行的应用。这里的调度器仅负责资源的调度,它不再负责监控或者跟踪应用的执行状态,有些task因为应用程序或者硬件错误而失败时,他也不再为task的重启提供授权。调度器基于各个应用的资源需求进行调度,这种调度基于resource Container的抽象概念,resource Container将内存,CPU,磁盘,网络等资源封装在一起。

调度器具有可插拔策略,主要负责将集群中得资源分配给多个队列和应用。yarn当前有多个资源调度器,比如Capacity Scheduler和Fair Scheduler等,他们都以插件的形式运行。

ApplicationsManager负责接受作业提交,协商并获取第一个container用于执行这个应用程序的ApplicationMaster 和提供重启失败的ApplicationMaster container的服务。每一个应用程序的ApplicationMaster 的任务有:
1)和调度器协商并获得合适数量的resource Containers
2)跟踪containers的状态和监控进展情况

hadoop-2.x版本的mapreduce仍然保持着与以前的稳定版本(Hadoop-1.x)的API的兼容性。这意味着以前的mapreduce jobs只需要重新编译一下就可以再yarn上运行。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值