Yarn是啥? 详解+原理

Yarn概述

Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序则相当于运行于操作系统之上的应用程序。

Yarn基本架构

YARN主要由ResourceManagerNodeManageApplicationMaster(AM)和Container等组件构成

1) ResourceManager(rm):处理客户端请求、启动/监控ApplicationMaster、监控NodeManager、资源分配与调度;
2)NodeManager(nm):单个节点上的资源管理、处理来自ResourceManager的命令、处理来自ApplicationMaster的命令;
3)ApplicationMaster:数据切分、为应用程序申请资源,并分配给内部任务、任务监控与容错。
4)Container:对任务运行环境的抽象,封装了CPU、内存等多维资源以及环境变量、启动命令等任务运行相关的信息。

Yarn工作机制


(1)Mr程序提交到客户端所在的节点。
(2)Yarnrunner向Resourcemanager申请一个Application。
(3)rm将该应用程序的资源路径返回给yarnrunner。
(4)该程序将运行所需资源提交到HDFS上。
(5)程序资源提交完毕后,申请运行mrAppMaster。
(6)RM将用户的请求初始化成一个task。
(7)其中一个NodeManager领取到task任务。
(8)该NodeManager创建容器Container,并产生MRAppmaster。
(9)Container从HDFS上拷贝资源到本地。
(10)MRAppmaster向RM 申请运行maptask资源。
(11)RM将运行maptask任务分配给另外两个NodeManager,另两个NodeManager分别领取任务并创建容器。
(12)MR向两个接收到任务的NodeManager发送程序启动脚本,这两个NodeManager分别启动maptask,maptask对数据分区排序。
(13)MrAppMaster等待所有maptask运行完毕后,向RM申请容器,运行reduce task。
(14)reduce task向maptask获取相应分区的数据。
(15)程序运行完毕后,MR会向RM申请注销自己。

资源调度器

目前,Hadoop作业调度器主要有三种:FIFO、Capacity Scheduler和Fair Scheduler。
FIFO:先进先出调度器- ->一个队列,按到达时间排序,先到先服务
Capacity Scheduler:容量调度器- ->多个队列,按到达时间排序,先到先服务
Fair Scheduler:公平调度器- ->多个队列,按照缺额排序,缺额大者有先
yarn-default.xml文件

<property><description>The class to use as the resource scheduler.</description><name>yarn.resourcemanager.scheduler.class</name><value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.**CapacityScheduler**</value>
</property>

Yarn是啥? 详解 原理相关推荐

  1. spark on yarn 内存分配详解

    spark on yarn 内存分配详解

  2. Hadoop之Yarn工作机制详解

    Hadoop之Yarn工作机制详解 目录 Yarn概述 Yarn基本架构 Yarn工作机制 作业提交全过程详解 1. Yarn概述 Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于 ...

  3. MSTP详解- 原理篇

    MSTP详解-原理篇 一. MSTP产生背景 二. MSTP基本概念 三.MSTP端口角色 四.MSTP的端口状态与收敛机制 五. MSTP 拓扑计算原理 5.1 MSTP 向量优先级 5.2 CIS ...

  4. STP和RSTP详解-原理篇

    STP和RSTP详解-原理篇 一.STP 1.1 STP基本概念 1.2 STP三个定时器 1.3 STP BPDU报文 1.3.1 配置 BPDU 1.3.2 TCN BPDU 1.3.3 BPDU ...

  5. LightGBM详解--原理+技巧+参数

    LightGBM详解 LightGBM原理 GOSS EFB 直方图算法 问题一:如何将特征值映射到bin中? 问题二:如何构建直方图 直方图作差加速 leaf-wise分裂策略 LightGBM加速 ...

  6. DHCP服务详解(原理+搭建)

    文章目录 详解DNS服务的搭建与解析 参考阅读 前言 一.工作原理 1.1 租约四部曲 1.2 续租 二.DHCP服务器的搭建 2.1 配置文件 2.2 搭建步骤 [基础-IP池/固定IP] [进阶- ...

  7. Docker网络详解——原理篇

    前言 当你开始大规模使用Docker时,你会发现需要了解很多关于网络的知识.Docker作为目前最火的轻量级容器技术,有很多令人称道的功能,如Docker的镜像管理.然而,Docker同样有着很多不完 ...

  8. 利用jquery操作ajax,利用jquery对ajax操作,详解原理(附代码)

    1.jQuery load() 方法 jQuery load() 方法是简单但强大的 AJAX 方法. load() 方法从服务器加载数据,并把返回的数据放入被选元素中. 语法: $(selector ...

  9. Redis五种基本数据类型底层详解(原理篇)

    Redis五种基本数据类型底层详解 详细介绍Redis用到的数据结构 简单动态字符串 SDS和C字符串的区别 总结 链表 字典 哈希表 字典 哈希算法 解决键冲突 rehash(重点) 渐进式reha ...

最新文章

  1. 水域大小 Java_水域大小
  2. mysql select time,MySql查询时间段的方法
  3. CSS中常用的样式语法
  4. 一个asp.net2005的页面文件调用CSS样式的BUG
  5. java反射机制原理详解_java反射机制的详细讲解
  6. MongoDB学习笔记(三)使用Spring Data操作MongoDB
  7. [JLOI2015]管道连接(斯坦纳树)
  8. MySQL数据库应用形考_2020国开中优教育《MySQL数据库应用》形考任务题库
  9. 要不要使用外键(foreign key )?
  10. Android入门笔记08
  11. leetcode1114. 按序打印 靡不有初,鲜克有终,小白加油加油加油
  12. 大一计算机课程学什么,大一新生应该如何学习 主要学什么课程
  13. Python学习手册之数据类型
  14. 统计机器学习相关性分析
  15. 通过爬虫爬取四川省公共资源交易平台上最近的招标信息 --- URLConnection
  16. PMP思维导图—项目经理的角色
  17. iOS VoIP PushKit 的问题
  18. 微信小程序大转盘完整代码
  19. Generic receive offload
  20. Laravel 的 Auth::attempt () 初探及修改 bcrypt 验证为 MD5

热门文章

  1. 2017第八届蓝桥杯省赛JAVA C组真题解析(带源码及解析)
  2. 秘密共享差分隐私原理解析
  3. 作业六:自注意力机制与论文
  4. 对VR的初步了解及unity的简单操作
  5. 响应时间过长而导致网页问题的原因?
  6. ListBox 控件
  7. 2021萧山三中高考成绩查询,最全!萧山各大高中上线人数揭晓!萧中超800人,三中紧随其后……...
  8. c++ Qt5学习笔记 2021-2-22 (setContentsMargins()作用,设计布局实现的QQ消息列表,自定义控件来实现动态添加,使用数组来控制自定义控件)
  9. 细腻的感动·《乖·摸摸头》·二
  10. Dailymotion推出Dailymotion Cloud 主打新型视频收费模式