hadoop yarn 获取日志_大数据从入门到深入:Hadoop 之 集群搭建 06 yarn原理以及日常使用...

bb8b49635304c2bb7ab78f9202ca6837.png

1、 yarn 是什么?

yarn是下一代MapReduce(借助了面向函数式编程 面向对象 --> new对象 --> 对象操作 面向函数编程 对象都是实例化 --> 函数(有返回值的方法)的实现 计算模型 --> 它的写法是固定的 你就按照流程写 然后hadoop就能帮你实现计算过程 继承 Configured 实现 Tool --> ToolRunner ),即MRv2,是在第一代MapReduce基础上演变而来的,主要是为了解决原始Hadoop扩展性较差,不支持多计算框架而提出的,通俗讲是跑任务的。

其核心思想:将MR1中资源管理和作业调用两个功能分开,分别由ResourceManager和ApplicationMaster进程来实现。

1)ResourceManager:负责整个集群的资源管理和调度;

2)ApplicationMaster:负责应用程序相关事务,比如任务调度、任务监控和容错等。

2、 为什么要使用 yarn?

MRv1架构

6d735682114939133363b63a13af2da6.png

与旧 MapReduce 相比,YARN 采用了一种分层的集群框架,它解决了旧MapReduce 一系列的缺陷,具有以下几种优势。

1)YARN通过将资源管理和应用程序管理两部分分剥离开,分别由ResouceManager和ApplicationMaster负责,其中,ResouceManager专管资源管理和调度,而ApplicationMaster则负责与具体应用程序相关的任务切分、任务调度和容错等,每个应用程序对应一个ApplicationMaster。

2)YARN具有向后兼容性,用户在MRv1上运行的作业,无需任何修改即可运行在YARN之上。

3)支持多个框架, YARN不再是一个单纯的计算框架,而是一个框架管理器(更加抽象所以拓展性强),用户可以将各种各样的计算框架移植到YARN之上,由YARN进行统一管理和资源分配,提高集群资源的利用率。

4)框架升级更容易, 在YARN中,各种计算框架不再是作为一个服务部署到集群的各个节点上,而是被封装成一个用户程序库(lib)存放在客户端,当需要对计算框架进行升级时,只需升级用户程序库即可,多么容易!

3、 yarn的基本组成结构

yarn 主要由ResourceManager、NodeManager、ApplicationMaster、Container、Scheduler 等几个组件构成。

340c2ee2b1b468d13a353526ed35a033.png

ResourceManager(RM)

RM是一个全局的资源管理器,负责整个系统的资源管理和分配。它主要由两个组件构成:调度器(Scheduler)和应用程序管理器(Applications Manager,ASM),通俗讲是用于管理NodeManager节点的资源,包括cup、内存等。

Scheduler(调度器)

调度器根据容量、队列等限制条件(如每个队列分配一定的资源,最多执行一定数量的作业等),将系统中的资源分配给各个正在运行的应用程序;在资源紧张的情况下,可以kill掉优先级低的,来运行优先级高的任务。

Applications Manager(应用程序管理器)

负责管理整个系统中所有应用程序,包括应用程序提交、与调度器协商资源以启动ApplicationMaster、监控ApplicationMaster运行状态并在失败时重新启动它等。

ApplicationMaster(AM)

ApplicationMaster 管理在YARN内运行的每个应用程序实例。每个应用程序对应一个ApplicationMaster。ApplicationMaster 负责协调来自 ResourceManager 的资源,并通过 NodeManager 监视容器的执行和资源使用(CPU、内存等的资源分配),通俗讲是管理发起的任务,随着任务创建而创建,任务的完成而结束。

NodeManager(NM)

NM是每个节点上的资源和任务管理器,一方面,它会定时地向RM汇报本节点上的资源使用情况和各个Container的运行状态;另一方面,它接收并处理来自AM的Container启动/停止等各种请求。

Container(重要) --> 资源接口 --> map reduce mapContainer reduceContainer spark --> sparkContainer

Container是YARN中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等,当AM向RM申请资源时,RM为AM返回的资源便是用Container表示的。YARN会为每个任务分配一个Container,且该任务只能使用该Container中描述的资源。

4、 yarn提交任务的过程

f2060a56e5b77b0b544bf6b12cf8297f.png

(1).用户向YARN中提交应用程序.
(2).ResourceManager为该应用程序分配第一个Container,要求它在这个Container中启动应用程序的ApplicationMaster。
(3).ApplicationMaster首先向ResourceManager注册,目的是让用户可以直接通过ResourceManager查看应用程序的运行状态,然后它将为各个任务申请资源,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值