Hadoop Yarn 概述 | 基础架构 | 工作机制 | 及作业提交全过程


一、Yarn是什么?

在现实生产环境中,大数据处理服务器众多(如下图所示),那么如果管理集群资源、如何给任务合理的分配资源就是个问题,Yarn的作用就是解决这些问题
在这里插入图片描述
Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序则相当于运行于操作系统之上的应用程序

二、Yarn基础架构

Yarn主要由ResourceManagerNodeManagerApplicationMasterContainer等组件组成:
在这里插入图片描述

  • ResourceManager(RM):相当于集群的老大,负责处理客户端的请求,如果有任务进来,它负责分配NodeManager、并监控NodeManager,启动和监控ApplicationMaster,负责资源的分配与调度
  • NodeManager(NM):它管理单个节点上的资源,处理来自RM的命令,处理ApplicationMaster的命令
  • ApplicationMaster(AM):为MapReduce计算程序申请资源并分配给内部的任务,同时负责任务的监控与容错
  • Container:是Yarn种资源的抽象,它在某个节点种启动,就像一个服务器中的一个虚拟机,封装了某个节点上的多维度资源,比如内存、CPU、磁盘、网络等

三、Yarn工作机制

在这里插入图片描述
如上图所示,下面是Yarn工作机制刨析:

  • MR程序提交到客户端所在节点,它会启动YarnRunner,向RM申请一个Application
  • RM接收请求并返回一个资源提交路径,该程序将运行所需资源提交到HDFS
  • 程序资源提交完毕之后,申请运行mrAppMaster
  • RM会首先把用户的请求初始化为一个Task,这个Task会进入一个调度队列
  • 其中一个NodeManager领取Task任务
  • NodeManager创建容器Container,并产生MRAppMaster
  • ContainerHDFS上拷贝资源到本地
  • MRAppmasterRM申请运行MapTask资源
  • RM将运行MapTask任务分配给另外两个NodeManager,这两个NodeManager分别领取任务并创建容器
  • MR向两个接收到任务的NodeManager发送程序启动脚本,这两个NodeManager分别启动MapTaskMaspTask对数据分区排序
  • MrAppMaster等待所有MapTask运行完毕后,向RM申请容器,运行ReduceTask
  • ReducerTaskMapTask获取相应分区的数据
  • 程序运行完毕后,MRRM申请注销自己

四、Yarn作业提交全过程

1、HDFS、YARN、MapReduce三者关系

在这里插入图片描述

  • HDFS负责文件的上传,读取等工作
  • MapReduce负责运算,对大数据进行处理
  • Yarn负责调度一切,分配资源等

2、Yarn作业提交过程

在这里插入图片描述

3、HDFS 与 MapReduce 作业提交过程

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值