【大数据之Hadoop】二十、Yarn基础框架及工作机制

news/2024/4/26 1:49:20/文章来源:https://blog.csdn.net/qq_18625571/article/details/130080200

1、Yarn基础框架

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

YARN主要由ResourceManager、NodeManager、ApplicationMaster和Container等组件构成。
在这里插入图片描述
(1)ResourceManager(RM)
整个集群资源的管理者,进行资源的分配和调度;处理客户端请求;监控NodeManager的运行情况;启动和监控ApplicationMaster。

(2)NodeManager(NM)
对单节点即单台服务器进行资源管理和调度;处理ResourceManager的命令;处理ApplicationMaster的命令(因为任务提交到AM会由NM向RM申请资源,申请之后在NM上运行)。

(3)ApplicationMaster(AM)
为作业向RM申请资源,由RM根据资源情况再分配;任务的监控和容错(当节点挂了之后可以向RM再申请容器,在容器里运行MapTask)。

(4)Container(容器):相当于容器,封装了资源(内存、CPU、磁盘等)。

2、Yarn工作机制

在这里插入图片描述
(0)MR程序提交到客户端所在的节点,在集群模式中运行MR程序,当运行到主函数的waitForCompletion()函数时创建YarnRunner(本地模式是LocalRunner)。

(1)YarnRunner向ResourceManager申请一个Application运行任务。

(2)RM将该应用程序的资源路径返回给YarnRunner,让YarnRunner把提交的job放到集群路径上。

(3)该程序将运行所需资源提交到HDFS集群路径上,包括split切片信息(控制开启MapTask的数量)、配置参数文件xml(控制任务按照xml里的参数运行)以及jar包(程序代码)。

(4)程序资源提交完毕后,YarnRunner申请运行MrAppMaster。

(5)RM将用户的请求初始化成一个Task任务,然后放到任务队列中排队(任务队列默认是容器)。

(6)空闲NodeManager领取Task任务。

(7)该NodeManager创建容器Container(任务的执行只能发生在容器中,容器中封装了资源),并在容器中启动MRAppmaster进程。

(8)Container从HDFS集群路径上拷贝资源(即切片信息等)到本地。

(9)容器拿到切片信息后,由MRAppmaster向RM 再次申请运行MapTask(切片个数=MapTask个数,有多少切片就申请开启多少MapTask)。

(10)RM将运行MapTask任务分配给NodeManager,NodeManager领取任务并创建容器(MapTask对应的容器有可能在同一个NodeManager节点上),并拷贝cpu、ram和jar包资源。

(11)MRAppMaster向接收到任务的NodeManager发送程序启动命令,NodeManager分别启动MapTask,然后开启YarnChild进程。MapTask运行结束后对数据进行分区排序并持久化到磁盘等待ReduceTask拉取。

(12)MrAppMaster等待所有MapTask运行完毕后,向RM再次申请容器运行ReduceTask程序(有多少分区就开启多少ReduceTask)。开启任务之前依旧是先开对应的容器,在容器里启动ReduceTask,ReduceTask对应的进程是YarnChild。

(13)ReduceTask向MapTask获取相应分区的数据。

(14)ReduceTask程序运行完毕后,MrAppMaster会向RM申请注销自己,释放容器等资源。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_103454.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

修炼汇编语言第二章:内存地址空间(概述)

目录 前言 一、主板和接口卡 二、存储器各类芯片 三:内存地址空间 总结 前言 什么是内存地址空间呢?如果地址线为10,那么可以寻址1024个地址空间,这1024个地址空间就构成这个CPU的内存地址空间,下面本文将会介绍…

Python如何连接Mysql及基本操作

1.什么要做python连接mysql,一般是解决什么问题的 做自动化测试时候,注册了一个新用户,产生了多余的数据,下次同一个账号就无法注册了,这种情况怎么办呢?自动化测试都有数据准备和数据清理的操作&#xff…

代码在洛谷上跑得慢怎么办?

前言 你有没有试过以下几种情况: 代码在别的OJ上能过,在洛谷上就T了你的代码和同学的几乎相同,但他的AC了,你的却TLE了 遇到这些情况,你可能要花上一个多小时才能解决,甚至难以解决,将问题一…

C. Magic Ship(二分 + 前缀和)

Problem - C - Codeforces 你是一艘船的船长。最初你站在一个点(x1,y1)上(很明显,海上的所有位置都可以用笛卡尔平面描述),你想要前往一个点(x2,y2)。 你知道天气预报——长度为n的字符串s,仅由…

对于程序员来说,搜索有多重要?

2023年4月24日,周一晚上。 今天我用Bing(必应)很快就搜索到了我需要的关于MFC的某个内容, 而我在百度和CSDN搜了好几天都没搜到, 当然,我认为这不仅仅是搜索引擎的问题,也可能是我搜索时输入…

SqlServer2022安装与配置_并用Navicat连接SqlServer---sqlserver工作笔记0001

首先去下载 SQL Server 下载 | Microsoft https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 首先去下载安装包,这里我们下最新的 下载这个免费版的 可以看到下面有个全功能免费版本下载他 然后点击安装 下载以后安装 选择自定义 然后安装

改善内部客户服务的 3 个技巧

在当今世界,许多公司都专注于改善客户关系管理,公司管理层面临的挑战是他们不仅拥有外部客户,员工也是有痛点和需求的内部客户。正如糟糕的客户服务会导致客户流失一样,糟糕的内部客户服务会增加员工流动率。在当今瞬息万变的就业…

SpringBoot 使用 Sa-Token 完成权限认证

一、设计思路 所谓权限认证,核心逻辑就是判断一个账号是否拥有指定权限: 有,就让你通过。没有?那么禁止访问! 深入到底层数据中,就是每个账号都会拥有一个权限码集合,框架来校验这个集合中是…

2023年五月份图形化一级打卡试题

活动时间 从2023年5月1日至5月21日,每天一道编程题。 本次打卡的规则如下: 小朋友每天利用10~15分钟做一道编程题,遇到问题就来群内讨论,我来给大家答疑。 小朋友做完题目后,截图到朋友圈打卡并把打卡的截图发到活动群…

基于GEE平台的植被覆盖度(FVC)像元二分法计算

一、植被覆盖度计算方法 植被覆盖度FVC(Fractional Vegetation Cover)定义为单位面积内绿色植被冠层垂直投影面积所占比例。FVC是衡量地表植被状况的重要指标之一,也是区域生态系统环境变化的重要指示,对水文、生态、区域变化等都…

JUC概述

1. JUC是什么? 在 Java 5.0 提供了 java.util.concurrent(简称JUC)包,在此包中增加了在并发编程中很常用的工具类。此包包括了几个小的、已标准化的可扩展框架,并提供一些功能实用的类,没有这些类,一些功能会很难实现或…

【Daily Share】没有域名怎么破?手把手教你如何通过hosts配置域名(假域名)

目录 ❌前言📄hosts文件🦉DNS解析步骤👌配置伪域名第一步 修改本机hosts配置第二步 配置服务器nginx 🔃流程图 ❌前言 ip记不住??? 域名不想买??? 每次当我…

操作指南|如何创建x-chain DAO

DAO是一个去中心化组织,大体与任何其他组织一样,但它是由智能合约中编码的规则所管理,并使DApps等能够完全去中心化且自主运行。 📄 查看MoonbeamDocs 这与通常的分步教程不同,该推文旨在分享关于运行去中心化自治组…

【剑指offer】(2)

系列文章目录 剑指offer系列是一本非常著名的面试题目集,旨在帮助求职者提升编程能力和应对面试的能力。 文章目录 系列文章目录[TOC](文章目录) 前言一、 用两个栈实现队列🔥 思路🌈代码 二、青蛙跳台阶问题🔥 思路&#x1f308…

ArcGIS Pro、Python、USLE、INVEST模型等多技术融合的生态系统服务构建生态安全格局

第一章、生态安全评价理论及方法介绍 一、生态安全评价简介 ​ 二、生态服务能力简介 ​ 三、生态安全格局构建研究方法简介 ​ 第二章、平台基础一、ArcGIS Pro介绍1. ArcGIS Pro简介2. ArcGIS Pro基础3. ArcGIS Pro数据编辑4. ArcGIS Pro空间分析5. 模型构建器6. ArcGIS Pro…

论文综述——DORE: Document Ordered Relation Extraction based on Generative Framework

DORE: Document Ordered Relation Extraction based on Generative Framework 文章的主要目标是对文档级的关系抽取。以往的研究主要是基于分类的研究,生成式关系抽取研究较少而且性能不佳。 文档级相比于句子级的关系抽取存在序列长度过长,以及实体定位…

Python base64模块加密解密

一、为何使用base64加密解密 为了安全机制的系统,在用户登录的时候,会采用一系列措施保护用户信息,防止程序被攻击,比如:将用户输入的密码加密处理,在控制台看请求接口看到的密码是加密过的密码&#xff0c…

EventBus源码解析

文章目录 前言一、EventBus使用二、EventBus事件流程分析1.注册订阅者2.发布事件Event3.接收事件Event4.取消注册订阅者 三、发送粘性事件问答EventBus 以及它的优点EventBus原理 EventBus中设计模式为什么要使用 EventBus 来替代广播呢?说下 5 种线程模式的区别Eve…

node(express框架)连接mysql 基础篇

文章目录 电脑安装mysql配置mysql连接mysql 创建表 创建node文件启动node node 连接数据库连接数据库 电脑安装mysql 由于我的是mac 我就安装mac版本的 mysql 如已安装跳过此步骤 mysql官网选择版本安装配置 这里注意选择下面的 next输入mysql密码 点击finish 配置mysql 打…

【EasyPoi实战系列】Spring Boot使用EasyPoi的注解让表格更漂亮以及图片的导出 - 第468篇

历史文章(文章累计460) 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 【…