首页 > 其他分享 >Yarn介绍 | 组成 | 工作流程

Yarn介绍 | 组成 | 工作流程

时间:2024-11-01 11:44:47浏览次数:3  
标签:容器 ResourceManager 流程 介绍 任务 Yarn Scheduler ID 资源

1、理论

        Apache YARN(Yet another Resource Negotiator的缩写)是Hadoop集群的资源管理系统,负责为计算程序提供服务器计算资源,相当于一个分布式的操作系统平台,而MapReduce等计算程序则相当于运行于操作系统之上的应用程序。
    YARN被引入Hadoop2,最初是为了改善MapReduce的实现,但是因为具有足够的通用性,同样可以支持其他的分布式计算模式,比如Spark,Tez等计算框架。

2、组成部分

ResourceManager:
是在系统中的所有应用程序之间管理资源的最终权威,即管理整个集群上的所有资源分配,内部含有一个Scheduler(资源调度器)
NodeManager:
是每台机器的资源管理器,也就是单个节点的管理者,负责启动和监视容器(container)资源使用情况,并向ResourceManager及其 Scheduler报告使用情况.
container:
即集群上的可使用资源,包含cpu、内存、磁盘、网络等(虚拟机,或者Docker)
AppMaster(项目经理):
实际上是框架的特定的库,每启动一个应用程序,都会启动一个AM,它的任务是与ResourceManager协商资源,并与NodeManager一起执行和监视任务。

3、Yarn的工作流程(重点)

1. 调用waitForCompletion方法每秒轮询作业的进度,内部封装了submit()方法,用于创建JobCommiter实例,并且调用其的submitJobInternal方法。提交成功后,如果有状态改变,就会把进度报告到控制台。错误也会报告到控制台。

2. JobCommiter实例会向ResourceManager申请一个新应用ID,用于MapReduce作业ID。这期间JobCommiter也会进行检查输出路径的情况,以及计算输入分片。

3. 如果成功申请到ID,就会将运行作业所需要的资源(包括作业jar文件,配置文件和计算所得的输入分片元数据文件)上传到一个用ID命名的目录下的HDFS上。此时副本个数默认是10.

4. 准备工作已经做好,再通知ResourceManager调用submitApplication方法提交作业。

5. ResourceManager调用submitApplication方法后,会通知Yarn调度器(Scheduler),调度器分配一个容器,在节点管理器的管理下在容器中启动 application master进程。

6. application master的主类是MRAppMaster,其主要作用是初始化任务,并接受来自任务的进度和完成报告。

7. 然后从HDFS上接受资源,主要是split。然后为每一个split创建MapTask以及参数指定的ReduceTask,任务ID在此时分配

8. 然后Application Master会向资源管理器请求容器,首先为MapTask申请容器,然后再为ReduceTask申请容器。

9. 一旦ResourceManager中的调度器(Scheduler),为Task分配了一个特定节点上的容器,Application Master就会与NodeManager进行通信来启动容器。

10. 运行任务是由YarnChild来执行的,运行任务前,先将资源本地化(jar文件,配置文件,缓存文件)

11. 然后开始运行MapTask或ReduceTask。

12. 当收到最后一个任务已经完成的通知后,application master会把作业状态设置为success。然后Job轮询时,知道成功完成,就会通知客户端,并把统计信息输出到控制台

标签:容器,ResourceManager,流程,介绍,任务,Yarn,Scheduler,ID,资源
From: https://blog.csdn.net/Yz9876/article/details/143428367

相关文章

  • 璞华印前编辑软件、包装自动化流程、包装盒型库插件参加台北国际印刷机材展
    近期,我司包装软件等产品亮相台北国际印刷机材展(TIGAX24,2024TaipeiInternationalGraphicArtsExhibition)的台湾地区代理商协进国际有限公司展台。台北国际印刷机材展两年举办一次,展出内容涵盖平版、凸版、凹版、网版、柔版及数字喷墨、电子墨水、色粉打印等技术,展示台湾及......
  • 网页制作流程哪几步
    网页具有交互性、不确定性和整合性等特点,与技术的密切结合,这使得如何制作吸引人的网页成为一个重要问题。本文将从网页制作流程的角度认真探讨如何实现这一目标。1.前期调研:确定方向网页设计的前期调研阶段是网页制作流程中不可或缺的一部分。它直接影响着整个设计方案的定......
  • 在 .NET 8 中使用 Serilog:详细讲解与日志级别介绍
    Serilog是一个功能强大且灵活的日志记录库,特别适合在.NET8应用程序中使用。它支持结构化日志记录,便于日志的查询和分析。本文将详细介绍在.NET8中使用Serilog的方法,包括配置、日志级别的介绍和使用示例。一、什么是Serilog?Serilog是一个开源的结构化日志记录库,旨在简......
  • 介绍使用@reduxjs/toolkit工具包发送异步请求最简便的方式
     1、安装@reduxjs/toolkit工具包pnpmi @reduxjs/toolkitreact-redux2、在src文件夹下新建store文件夹3、在store文件夹下新建index.js文件作为store的入口文件,其次再新建homeReducer.js文件4、homeReducer.js文件中写入以下代码//从@reduxjs/toolkit库中导入crea......
  • 如何建立有效的项目进度审计流程
    项目进度审计是确保项目按时、按预算和按照既定标准完成的关键环节。有效的项目进度审计流程应包括明确的审计目标、细致的审计计划、专业的审计团队、清晰的沟通机制、实时的进度跟踪、严谨的数据分析、及时的问题反馈与解决方案策划、以及整改措施的实施评估。特别是在审计目标......
  • 从二维图像到三维重建:由运动到结构(SfM)的完整流程推导【含数学原理及推导】
    结构从运动(SfM)-稀疏特征点的3D重建1.引言由运动到结构(StructurefromMotion,SfM)是一种从二维图像序列中恢复三维结构和相机运动的技术。在SfM中,通过分析图像中稀疏的特征点,我们可以估计出相机在拍摄过程中经历的姿态变化,并重建出场景的三维几何结构。COLMAP等常用的Sf......
  • yarn安装报错 Unrecognized option: --version Error: Could not create the Java Vir
    在自己电脑上安装yarn报错,Unrecognizedoption:--versionError:CouldnotcreatetheJavaVirtualMachine.Error:Afatalexceptionhasoccurred.Programwillexit.估计是和之前安装的hadoop冲突了使用whereyarn命令,找到安装yarn的目录C:\ProgramFiles\nodejs把......
  • STM32的USB接口介绍
    STM32微控制器系列提供了强大的USB功能,支持USB设备和主机模式。本文将详细介绍STM32的USB接口,包括其主要特征、寄存器和缓存映射、时钟要求以及如何通过代码实现USB通信。一、USB简介STM32的USB外设实现了USB2.0全速总线和APB总线间的接口。它支持USB挂起/恢复操作,可以停......
  • springmvc请求源码流程解析(二)
        Spring官网的MVC模块介绍:SpringWebMVC是基于ServletAPI构建的原始Web框架,从一开始就已包含在Spring框架中。正式名称“SpringWebMVC”来自其源模块的名称(spring-webmvc),但它通常被称为SpringMVC。    从Servlet到SpringMVC:    最典型的MVC就是J......
  • 易考八股文之SpringBoot的启动流程
    SpringBoot的启动流程主要包括以下几个步骤:1.创建SpringApplication对象:这个过程包括推断启动类型、设置初始化器、初始化监听器以及推断main方法所在的类。2.运行SpringApplication的run方法:这是启动SpringBoot应用的核心入口,具体步骤包括:获取运行监听器。发布启动过程中......