关于Yarn的一些个人总结

前言

在前面我们可以得出Yarn是Hadoop生态圈中一个重要得组成部分,主管资源管理,但是具体是如何进行资源管理的,却是需要进行探索的事,它又哪几部分组成,又由什么演变而来,各部分又有什么作用,它的产生又带来了哪些好处。

一、Yarn是什么

Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。

二、Yarn由什么组成

主要由 ResourceManager、ApplicationMaster、NodeManager、container组成:
1、ResourceManager(RM)
YARN的分层结构是ResourceManager
RM控制整个集群,管理应用程序向基础计算机资源的分配
RM将各个资源安排给nodeManager
RM与ApplicationMaster一起分配资源
RM与NodeManager一起启动和监视他们的基础应用程序
作用:
1)处理客户端请求
2)启动或监控ApplicationMaster
3)监控nodemanager
4)资源分配与调度
2、ApplicationMaster(AM)
AM管理在YARN内运行的应用程序的实例
AM负责协调来自RM的资源
AM通过nodeManager 监视 容器执行和资源调度
作用:
1)负责数据切分
2)为程序申请资源并分配给内部任务
3)任务的监视与容错
3、NodeManager(NM)
NM 管理YARN集群中的每个节点
NM提供针对集群中的每个节点的服务
NM从监督对一个容器的终生管理到监视资源,跟踪节点健康
作用
1)管理单个节点上的资源
2)处理来自RM的命令
3)处理来自AM的命令
4、Container
Container 是 YARN中的资源抽象 封装了某个节点上的多维度资源(内存 cpu 磁盘 网络等)
当AM向RM申请资源时,RM为AM返回的资源便是Container表示的
YARN会为每个任务分配一个Container,且该任务只能使用Container中描述的资源
作用:
对任务运行环境进行抽象
封装CPU,内存等多维度资源以及环境变量,启动命令等任务运行的相关信息

三、Yarn用来做什么

Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。
YARN 的基本思想是将 JobTracker 的两个主要功能(资源管理和作业调度/监控)分离,主要方法是创建一个全局的 ResourceManager(RM)和若干个针对应用程序的 ApplicationMaster(AM)。这里的应用程序是指传统的 MapReduce 作业或作业的 DAG(有向无环图)。

四、Yarn的优势是什么

a、YARN的设计减小了JobTracker的资源消耗,并且让监测每一个Job子任务(tasks)状态的程序分布式化了,更安全、更优美。
b、在新的Yarn中,ApplicationMaster是一个可变更的部分,用户可以对不同的编程模型写自己的AppMst,让更多类型的编程模型能够跑在Hadoop集群中。
c、对于资源的表示以内存为单位,比之前以剩余slot数目更加合理。
d、MRv1中JobTracker一个很大的负担就是监控job下的tasks的运行状况,现在这个部分就扔给ApplicationMaster做了,
而ResourceManager中有一个模块叫做ApplicationManager,它是监测ApplicationMaster的运行状况,如果出问题,会在其他机器上重启。
e、Container用来作为YARN的一个资源隔离组件,可以用来对资源进行调度和控制。

五、Yarn解决了什么问题

解决旧架构MRv1的单点问题和资源利用率问题,同时也让在其上运行的应用不再局限于 MapReduce 形式
基于上述问题,Hadoop在2.0版本上推出了YARN (Yet Another Resource Negotiator)。
YARN的核心思想是将资源管理和Job的调度/监控进行分离。
YARN就是将 JobTracker 的职责进行拆分,将资源管理和任务调度监控拆分成独立的进程:
一个全局的资源管理和一个每个作业的管理(ApplicationMaster)
ResourceManager 和 NodeManager 提供了计算资源的分配和管理,而 ApplicationMaster 则完成应用程序的运行

总结

在旧架构MRv1不能满足大多数任务处理时,Yarn应运而生,Yarn主要的核心思想是将资源管理以及Job的调度/监控进行分离。YARN就是将 JobTracker 的职责进行拆分,将资源管理和任务调度监控拆分成独立的进程:一个全局的资源管理和一个每个作业的管理(ApplicationMaster)。ResourceManager 和 NodeManager 提供了计算资源的分配和管理,而 ApplicationMaster 则完成应用程序的运行。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值