Hadoop——Yarn(4)

文章目录

  • 1.Yarn基础架构
  • 2.Yarn工作机制
  • 3.作业提交全过程
  • 4.调度器和调度算法
    • 4.1先进先出调度器(FIFO)
    • 4.2容量调度器(Capacity Scheduler)
    • 4.3公平调度器(Fair Scheduler)
  • 5.Yarn生产环境核心参数

1.Yarn基础架构

Yarn主要由 ResourceManager、NodeManager、ApplicationMaster 和 Container 等组件 构成。

2.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 申请容器,运行 ReduceTask。
(14)ReduceTask 向 MapTask 获取相应分区的数据。
(15)程序运行完毕后,MR 会向 RM 申请注销自己。

3.作业提交全过程



(1)作业提交
第 1 步:Client 调用 job.waitForCompletion 方法,向整个集群提交 MapReduce 作业。
第 2 步:Client 向 RM 申请一个作业 id。
第 3 步:RM 给 Client 返回该 job 资源的提交路径和作业 id。
第 4 步:Client 提交 jar 包、切片信息和配置文件到指定的资源提交路径。
第 5 步:Client 提交完资源后,向 RM 申请运行 MrAppMaster。(2)作业初始化
第 6 步:当 RM 收到 Client 的请求后,将该 job 添加到容量调度器中。
第 7 步:某一个空闲的 NM 领取到该 Job。
第 8 步:该 NM 创建 Container,并产生 MRAppmaster。
第 9 步:下载 Client 提交的资源到本地。(3)任务分配
第 10 步:MrAppMaster 向 RM 申请运行多个 MapTask 任务资源。
第 11 步:RM 将运行 MapTask 任务分配给另外两个 NodeManager,另两个 NodeManager
分别领取任务并创建容器。(4)任务运行
第 12 步:MR 向两个接收到任务的 NodeManager 发送程序启动脚本,这两个
NodeManager 分别启动 MapTask,MapTask 对数据分区排序。
第13步:MrAppMaster等待所有MapTask运行完毕后,向RM申请容器,运行ReduceTask。
第 14 步:ReduceTask 向 MapTask 获取相应分区的数据。
第 15 步:程序运行完毕后,MR 会向 RM 申请注销自己。(5)进度和状态更新
YARN 中的任务将其进度和状态(包括 counter)返回给应用管理器, 客户端每秒(通过
mapreduce.client.progressmonitor.pollinterval 设置)向应用管理器请求进度更新, 展示给用户。(6)作业完成
除了向应用管理器请求作业进度外, 客户端每 5 秒都会通过调用 waitForCompletion()来
检查作业是否完成。时间间隔可以通过 mapreduce.client.completion.pollinterval 来设置。作业
完成之后, 应用管理器和 Container 会清理工作状态。作业的信息会被作业历史服务器存储
以备之后用户核查。

4.调度器和调度算法

目前Hadoop作业调度器主要有三种:FIFO,容量(Capacity Scheduler)和公平(Fair Scheduler)
Apache Hadoop3.13默认:Capacity Scheduler
CDH框架默认调度器是:Fair Scheduler

4.1先进先出调度器(FIFO)

4.2容量调度器(Capacity Scheduler)

Yahoo开发的多用户调度器


4.3公平调度器(Fair Scheduler)

Facebook开发的多用户调度器





5.Yarn生产环境核心参数

Hadoop——Yarn(4)相关推荐

  1. Hadoop学习(二)——MapReduce\Yarn架构

    其他更多java基础文章: java基础学习(目录) 学习资料 理解Hadoop YARN架构 本文先讲MapReduce 1.x的框架.再讲MapReduce 1.x升级改进后MapReduce 2 ...

  2. Hadoop生态圈(九)YARN架构深入学习

    1. YARN框架概述 1.1 YARN产生和发展简史 1.1.1 Hadoop演进阶段 数据.程序.运算资源(内存.cpu)三者组在一起,完成了数据的计算处理过程.在单机环境下,这些都不是太大问题. ...

  3. Hadoop入门(二)集群安装

    一.集群安装条件前置 在虚拟机上先准备一个机子  按用前面[安装单机hadoop] 已完成安装jdk,hadoop和ssh.网络等配置环境等. 虚拟机和操作系统 环境:ubuntu14 + hadoo ...

  4. 大数据常见面试题 Hadoop篇(2)

    大数据常见面试题 Hadoop篇(1)_后季暖的博客-CSDN博客1)序列化和反序列化序列化就是把内存中的对象,转换成字节序列(或其他数据传输协议)以便于存储(持久化)和网络传输.反序列化就是将收到字 ...

  5. 大数据常见面试题 Hadoop篇(1)

    目录 1.描述一下hdfs的写流程 读流程? 2.详细讲解一下hdfs的体系结构 3.如果一个datanode出现宕机,恢复流程是什么样的? 4.通常你是如何解决Haddop的NameNode宕机的, ...

  6. Hadoop学习(1)--Hadoop介绍

    1. Hadoop的简单介绍 1.1 狭义 Hadoop指的是Apache软件基金会的一款开源软件,允许用户使用简单的编程模型实现跨机器集群对海量数据进行分布式计算处理. Hadoop核心组件 Had ...

  7. HIVE学习系列——windows Hadoop安装(上)

    文章目录 整体流程概览 jre环境 jre安装 jre环境变量配置 Hadoop安装与配置 官网下载步骤 清华镜像下载步骤 Hadooponwindows下载 配置系统变量 hadoop初始文件配置 ...

  8. 【大数据】Hadoop 体系(一)

    Hadoop 一.大数据导论 1. 数据是什么? 数据是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质.状态以及相互关系等进行记载的物理符号或这些物理符号的组合,它是可识别的.抽象的符号. ...

  9. hadoop系列(一)概念、组件介绍、安装环境、配置

    hadoop系列(一)概念.组件介绍.安装环境.配置 一.大数据概念 概念 大数据:解决海量数据的采集.存储.分析计算的能力 大数据特点 Volume(大量) Velocity(高速) Variety ...

最新文章

  1. digitalocean添加ssh_keys
  2. RequestDispatcher
  3. matlab您的安装可能需要执行其他配置步骤_手把手超详细介绍MATLAB+RoadRunner+Unreal Engine自动驾驶联合仿真...
  4. 博客园自定义背景(一)
  5. 美国智能家居止步不前 原因是产品过于碎片化
  6. 清北学堂(2019 4 28 ) part 1
  7. IDEA—使用插件反编译jar包
  8. 校友会2019中国大学计算机,校友会2019中国大学一流专业排名800强出炉,北大清华复旦前三...
  9. 深入理解计算机系统(3.3)------操作数指示符和数据传送指令
  10. Web Deploy 发布网站错误 检查授权和委派设置
  11. java标识符定义_Java标识符命名规范
  12. 深入了解JavaScript目录(持续更新)
  13. /dev/null空字符设备文件
  14. python scipy.stats 正态分布_Python Scipy stats.normaltest()用法及代码示例
  15. Python3使用bencode库解析BT种子
  16. 学习机器视觉需要掌握哪些知识?【转】
  17. C# 如何在PDF文档中根据关键字查找文本并给文本设置背景颜色
  18. Facebook联手纽约大学,要把核磁共振成像时间缩短10倍
  19. mdx格式的词典用什么软件打开_抄作业了!手把手教你安装欧路词典(ios系统为例)...
  20. 详解JQuery动画

热门文章

  1. 第二次作业 项目质量管理重点知识梳理
  2. Codeigniter开发技巧:连接多个数据库(可实现DB读写分离)
  3. Linux I2C设备驱动编写(二)
  4. Kinect+OpenNI学习笔记之2(获取kinect的颜色图像和深度图像)
  5. 建设局项目总结(一)
  6. argparse 部分参数整理
  7. 牛客小白月赛9 论如何出一道水题
  8. 【LOJ】#2230. 「BJOI2014」大融合
  9. mybatis 之 parameterType=list1
  10. 6N+/-1素数测试法