【Hadoop】Yarn —— 调度计算核心

601-赵同学

发表文章数:191

热门标签

, ,
首页 » 大数据 » 正文



资料来源:拉勾大数据训练营【第二期】


概述

YarnHadoop 2.x 引入的新的资源管理系统模块,主要用于管理集群当中的资源(主要是服务器的各种硬件资源,比如内存CPU等),它不光管理硬件资源,还管理运行的一些任务信息等。

Yarn调度资源可以分为两个层级:
一级管理调度:管理计算机的资源、运行job任务的生命周期
二级管理调度:任务的计算模型(maptask,reducetask的代码)、多样化的计算模型(spark,storm)


主要角色

角色 作用
ResourceManage 主节点,主要用于接受用户请求,分配资源
NodeManager 从节点,主要用于处理任务的计算
ApplicationMaste 申请资源,分配资源(分配 Container ),监控任务执行的进度状况,回收资源,和 ResourceManager 通信,报告任务的执行状况“自杀”
Container 资源分配的单位,所有的资源都是以 Container 的形式来进行划分的,便于资源的分配和回收
JobHistoryServer 历史完成的任务信息
TimeLineServer 2.4版本之后出来的新特性,查看正在执行任务的信息

运行流程(重点)

【Hadoop】Yarn —— 调度计算核心

1. 客户端向 ResourceManagement 提交 运行的请求 (hadoop jar xxxx.jar)。
2. ResourceManager 进行检查,没有问题的时候,向客户端返回一个共享资源的路径以及 JobId
3. 客户端HDFS 提交资源,将共享资源放入共享路径下(/tmp/hadoop-yarn/staging-dir/xxxxxxxx)。
4. 客户端ResourceManager 反馈共享资源放置完毕,进行 job 的正式提交。
5. ResourceManager 为这个 job 分配一个节点,并在这个节点上启动 MRAppMaster 任务。
6. ResourceManager 到对应的节点上去启动 Container 容器用于装载 MRAppMaster
7. MRAppMaster 对 job 进行初始化,生成一个 job 工作簿,job 的工作簿记录着 MapTask 和 ReduceTask 的运行进度和状态。
8. MRAppMasterResourceManager 申请 MapTaskReduceTask 的运行的资源,先发 MapTask 然后发 ReduceTask
9. ResourceManagerMRAppMaster 返回 MapTaskReduceTask 的资源节点。


调度策略

fifo 队列调度器(first in first out)(一般没人用)
运行规则:第一个任务来了,先执行,第二个任务来了,等着
弊端:如果有一个很大的计算任务先来,需要执行两个小时,再来一个小任务,需要两分钟,第二个任务必须要等第一个完成。

capacity scheduler 容量调度器(apache 的 hadoop 版本默认使用的调度器)
运行规则:将集群的资源,划分成好几个队列,任务提交的时候,可以选择不同的队列进行提交。
优点:根据提交任务需要资源的大小不同,可以将任务划分到不同给的队列下面去。

第三种fair scheduler 公平调度器(CDH 版本的 hadoop 默认的调度规则)
运行规则:如果没有任务提交,收到第一个任务,将进群当中所有的资源全部给第一个任务,如果此时收到第二个任务,就会将第一个任务的资源划分一点出来给第二个任务,让第二个任务也可以执行,以此类推,保证每一个任务都可以公平地一起执行

未经允许不得转载:作者:601-赵同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《【Hadoop】Yarn —— 调度计算核心》 发布于2020-09-26

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录