当前位置: 首页 > news >正文

YARN 的介绍

YARN 的介绍

  • 一、YARN 产生背景
    • 1.1 MapReduce 1.0 系统架构
  • 1.2 MapReduce 1.0架构缺陷
  • 二、YARN 是什么
  • 三、YARN 作用
  • 四、YARN 架构
  • 五、工作原理
  • 六、MapReduce ON YARN 工作流程
  • 七、YARN 的容错性
  • 八、YARN 的高可用
  • 八、YARN 调度器
    • 8.1 先进先出调度器
    • 8.2 容量调度器
    • 8.3 公平调度器

一、YARN 产生背景

1.1 MapReduce 1.0 系统架构

在这里插入图片描述

1.2 MapReduce 1.0架构缺陷

  • 扩展性差
    • JobTracker 同时兼备了资源管理和作业控制两个功能,严重制约了 Hadoop 集群扩展性
  • 资源利用率低
    • MRv1采用基于slot的粗粒度的资源分配模型,包含Map slot和Reduce slot。某个任务用不完的资源其他任务也不能用,因为map和reduce的资源完全不能共享的。当一个作业刚提交时,只会运行Map Task,此时Reduce Slot 闲置。
  • 通用性差
    • 随着互联网高速发展导致数据量剧增,MapReduce这种基于磁盘的离线计算框架已经不能满足应用要求,从而出现了一些新的计算框架以应对各种场景,包括内存计算框架、流式计算框架和迭代式计算框架等,而MRv1不能支持多种计算框架并存。
  • 单点故障
    • MRv1 采用了master/slave 结构,其中 master 存在单点故障问题,一旦它出现故障将导致整个集群不可用

二、YARN 是什么

  • YARN 是Hadoop2.0版本新引入的资源管理系统,接从MR1演化而来。

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

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

  • ResourceManager负责整个集群的资源管理和调度。ApplicationMaster负责应用程序相关的事务,比如任务调度、任务监控和容错等

三、YARN 作用

在这里插入图片描述

四、YARN 架构

在这里插入图片描述

五、工作原理

在这里插入图片描述

六、MapReduce ON YARN 工作流程

在这里插入图片描述

七、YARN 的容错性

  • ResourceManager的容错性保障ResourceManager存在单点故障,但是可以通过配置实现ResourceManager的HA(高可用),当主节点出现故障时,可以切换到备用节点继续对外提供服务。
  • NodeManager的容错性保障NodeManager失败之后,ResourceManager会将失败的任务通知对应的ApplicationMaster,由ApplicationMaster来决定如何去处理失败的任务。
  • ApplicationMaster的容错性保障ApplicationMaster失败后,由ResourceManager负责重启即可。其中,ApplicationMaster需要处理内部任务的容错问题。ResourceManager会保存已经运行的任务,重启后无须重新运行。

八、YARN 的高可用

在这里插入图片描述

八、YARN 调度器

8.1 先进先出调度器

在这里插入图片描述

8.2 容量调度器

在这里插入图片描述

8.3 公平调度器

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Memcached的介绍与详解
  • 升级MacOS(Mojave)后使用git问题
  • 爬虫--模拟登录代理IP
  • Wordpress建站问题记录
  • 【C++】第一讲:入门概论
  • JavaScript 数组之flat和flatMap
  • Vue 3+Vite+Eectron从入门到实战系列之(四)一Electron热身运动(二)
  • mmsegmentation 自定义模型报错:KeyError: ‘EncoderDecoder is not in the model registry
  • 【HBZ分享】bean的生命周期 以及 各个阶段在spring的哪个类被调用
  • Leetcode75-8 递增的三元子序列
  • 在Windows MFC\C++编程中,如何使用OnCopyData函数
  • React 条件判断
  • MySql审计平台
  • MacOS Anaconda 安装教程及虚拟环境创建
  • 吴恩达:如何系统学习机器学习?
  • 网络传输文件的问题
  • 【347天】每日项目总结系列085(2018.01.18)
  • angular2 简述
  • DataBase in Android
  • Java 23种设计模式 之单例模式 7种实现方式
  • Javascript 原型链
  • JavaWeb(学习笔记二)
  • Markdown 语法简单说明
  • Promise面试题2实现异步串行执行
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 前端代码风格自动化系列(二)之Commitlint
  • 手写一个CommonJS打包工具(一)
  • 思维导图—你不知道的JavaScript中卷
  • 详解移动APP与web APP的区别
  • 再次简单明了总结flex布局,一看就懂...
  • 怎样选择前端框架
  • 正则表达式小结
  • 阿里云服务器如何修改远程端口?
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (007)XHTML文档之标题——h1~h6
  • (2)STL算法之元素计数
  • (8)STL算法之替换
  • (9)STL算法之逆转旋转
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (二)PySpark3:SparkSQL编程
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (一)u-boot-nand.bin的下载
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .form文件_SSM框架文件上传篇
  • .NET Framework 4.6.2改进了WPF和安全性
  • .NET_WebForm_layui控件使用及与webform联合使用
  • .NET连接数据库方式
  • .net知识和学习方法系列(二十一)CLR-枚举
  • .NET中使用Redis (二)
  • @entity 不限字节长度的类型_一文读懂Redis常见对象类型的底层数据结构