Hadoop - YARN 启动流程

AM启动流程--Hadoop-2.6.0 社区版学习笔记 YARN启动AM流程1. RM的ClientRMService(implements ApplicationClientProtocol)通过RPC处理submitApplication请求。内部调用RMAppManager的submitApplication方法通知其他相关组件。2.RMAppManager为该应用程序创建RMAppImpl对象来维护运行状态。发送一个RMAppEventType... 阅读详情
   一  YARN的启动流程          
                                                     

                                                                               YARN 启动流程

   
  1.提交应用及其使用到的资源
    用户向YARN中(RM)提交应用程序,其中包括ApplicationMaster程序、启动ApplicationMaster的命令、用户程序等。 客户端将应用程序所需的 文件资源(外部字典、JAR包、二进制文件等)提交到 HDFS.

  2.启动ApplicationMaster
      ResourceManager为该应用程序分配第一个Container,并与对应的NodeManager通信,要求它在这个Container中启动应用程序的ApplicationMaster。 ApplicationMaster与ResouceManager通信,以请求和获取资源。 ApplicationMaster获取到资源后,与对应的NodeManager通信以启动任务。 如果该应用程序第一次在给节点上启动任务,则NodeManager首先从HDFS上下载文件缓存到本地,然后启动该任务。

     注:分布式缓存并不是将文件缓存到集群中各个结点的内存中,而是将文件换到各个结点的磁盘上,以便执行任务时候直接从本地磁盘上读取文件。

  3.注册应用
   ApplicationMaster首先向ResourceManager注册,表明自己启动成功,这样用户可以直接通过ResourceManage查看应用程序的运行状态,然后它将为各个任务申请资源,并监控它的运行状态,直到运行结束,即重复步骤4~7。

  4.为任务申请资源
   ApplicationMaster采用轮询的方式通过RPC协议向ResourceManager申请和领取资源。

   5.与NM通信启动各个任务
    一旦ApplicationMaster申请到资源后,ApplicationMaster就会将启动命令交给NodeManager,要求它启动任务。启动命令里包含了一些信息使得Container可以与Application Master进行通信。

  6.NM启动任务
     NodeManager为任务设置好运行环境(包括环境变量、JAR包、二进制程序等)后,将任务启动命令写到一个脚本中,并通过运行该脚本启动任务(Container)。

  7.执行任务
     在Container内执行用户提交的代码,各个Container通过某个RPC协议向ApplicationMaster汇报自己的状态和进度,以让ApplicationMaster随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务。

  8.任务状态查询
      在应用程序运行过程中,用户可随时通过RPC向ApplicationMaster查询应用程序的当前运行状态。

  9.运行完毕
     应用程序运行完成后,ApplicationMaster向ResourceManager注销并关闭自己。

二 AM与RM的详细交互

     1.用户向YARN ResourceManager提交应用程序,RM收到提交申请后,先向 资源调度器 申请用以启动AM 的资源,待申请到资源后,再由ApplicationMasterLauncher与对应的NodeManager通信,从而启动应用程序的ApplicationMaster.
     2.ApplicationMaster启动完成后,ApplicationMasterLaucher会通过事件的形式,将刚刚启动的Application Master注册到AMLiveMonitor,以启动心跳监控。
     3.ApplicationMaster启动后,先向ApplicatinMaterService注册,并将自己所在host、端口号等信息汇报给它。
     4.AM运行过程中,周期性地向ApplicationMaserService回报心跳信息(信息中包含想要申请的资源描述)。
     5. ApplicationMasterService每次收到ApplicationMaster心跳信息好后,将通知AMLivelinessMonitor更新应用程序的最新回报心跳的时间。
     6.应用程序运行完成后,AM向AMService发送请求,注销自己。
     7.AMService收到注销请求后,标注应用程序运行状态完成,同时通知AMLivelinessMonitor移除对它的心跳监控。

三 小结

      当用户向YARN中提交一个应用程序后,YARN将分两个阶段运行该应用程序:第一个阶段是启动
ApplicationMaster;第二个阶段是由ApplicationMaster创建应用程序,为它申请资源,并监控它的整个运行过程,直到运
行完成

Ubuntu22.04下3分钟搞定GitHub加速:SwitchHosts+小鱼工具保姆级配置指南 本文提供Ubuntu22.04下快速解决GitHub下载超时问题的保姆级教程,通过SwitchHosts图形化工具和小鱼一键换源工具实现高效加速。详细步骤包括环境准备、工具安装配置及验证方法,帮助开发者轻松优化GitHub访问速度,提升工作效率。 阅读详情

相关推荐

从Multibit到Debanking:芯片设计中的时序优化完整流程解析(含真实案例)

本文深入解析芯片设计中Multibit技术与Debanking的时序优化完整流程,结合7nm移动SoC真实案例,详细探讨Multibit的核心优势、实施条件及潜在风险,并提供Debanking的触发时机与操作策略。通过平衡Multibit与Debanking,工程师可有效优化PPA(Power-Performance-Area),提升芯片设计效率。

weixin_30316097的博客 460

Hadoop 启动 YARN

1,首先进入hadoop目录:cd /usr/local/hadoop 2,修改配置文件 mapred-site.xml,这边需要先进行重命名:      mv ./etc/hadoop/mapred-site.xml.template ./etc/hadoop/mapred-site.xml      然后修改内容:gedit ./etc/hadoop/mapred-site.xm

DMS程序猿 1万+

STM32实战指南:TFTLCD液晶屏驱动与ILI9341应用解析

本文详细解析了STM32驱动TFTLCD液晶屏的实战技巧,重点介绍了ILI9341控制器的硬件连接、寄存器操作及性能优化方法。通过8080并行接口时序分析、GRAM操作优化和DMA传输应用,帮助开发者高效实现液晶屏驱动,适用于工业控制、智能家居等场景。

weixin_26873711的博客 232

yarn常用命令

yarn install:安装所有依赖包。yarn remove:移除一个依赖包。yarn init:初始化一个新项目。yarn add:安装一个新的依赖包。yarn upgrade:升级依赖包。yarn run:运行一个自定义命令。yarn lint:运行代码检查。yarn start:启动项目。yarn build:构建项目。yarn test:运行测试。

weixin_59246157的博客 4967

大数据 DataX-Web 详细安装教程

大数据 DataX-Web 详细安装教程

GG Bond 的博客 1万+

树莓派4B:控制步进电机

文章目录准备阶段接线阶段树莓派程序 准备阶段 准备以下物品,淘宝都可以买到: 57步进电机 电源开关(220v转24v,3A,72W) 步进电机驱动器 电源线 电线 杜邦线 树莓派4B一套 具体型号如下: 接线阶段 整体:接线效果如下图 电源开关起220v转24v作用,很好接线,输出24v接入步进电机驱动器 步进电机驱动器的 A+ A- B+ B- 按提示接步进电机四线,步进电机上就会有说...

学习路上的鸭子的博客 1万+

Yarn安装及配置一件启停

Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统和调度平台,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。资源管理系统:集群的硬件资源,和程序运行相关,比如内存,CPU等调度平台:多个程序同时申请计算资源如何分配,调度的规则(算法)。通用∶不仅仅支持MapReduce程序,理论上支持各种计算程序。

weixin_45012397的博客 1447

避开内存陷阱:手把手教你用RKNN零拷贝接口正确管理输入输出Tensor

本文深入解析RKNN零拷贝接口在边缘计算中的高效内存管理策略,通过YOLOX实例演示如何避免内存对齐错误和数据错位。详细介绍了`rknn_tensor_mem`系列API的正确使用方法,包括内存创建、绑定、释放全流程,以及性能优化技巧如内存池技术和多核NPU负载均衡,帮助开发者提升推理效率并避开常见陷阱。

weixin_33686714的博客 160

如何启用和配置YARN

Apache Hadoop的YARN(Yet Another Resource Negotiator)是一个集群资源管理器,用于分配和管理集群中的资源。本文将介绍如何启用和配置YARN。

m0_53157282的博客 2465

MobaXterm简介和使用(服务器连接工具)

MobaXterm 是一个功能强大的远程计算工具,集成了许多常用的远程计算功能,包括 SSH、X11、RDP、VNC、FTP、SFTP 等。

清平乐的技术专栏 1950

YOLOv11 | 一文带你深入理解ultralytics最新作品yolov11的创新 | 训练、推理、验证、导出 (附网络结构图)

ultralytics发布了最新的作品YOLOv11,这一次YOLOv11的变化相对于ultralytics公司的上一代作品YOLOv8变化还是很大的(YOLOv9、YOLOv10均不是ultralytics公司作品),其中改变的位置涉及到C2f变为C3K2,在SPPF后面加了一层类似于注意力机制的C2PSA,还有一个变化大家从yaml文件是看不出来的就是它的检测头内部替换了两个DWConv,在损失函数方面就没有变化了还是采用的CIoU作为边界框回归损失,下面带大家深入理解一下ultralytics最新作品

Snu77的博客 18万+

hadoop 学习(三) 配置启动 yarn

一、修改配置文件 1.修改yarn-env.sh 将java_home修改为绝对路径 2.修改yarn-site.xml <property> <name>yarn.nodemanager.aux-services</name> &...

499

Allegro技巧----相同模块复用实现快速布局

使用Allegro软件进行PCB Layout设计时,当电路图中有很多路相同的模块,使用模块复用的的操作方法,可以显著提高工作效率,同时也可以使PCB布局在整体上显得美观。 如图,有8个相同的ADC采样电路模块,它们在原理图中的电路也是一样的,对于这多个相同的电路模块,如果一个个元器件布局很明显做了很多重复机械的劳动,效率低下;但是强大的Allegro软件早就考虑到了这点,只需要在PCB中做好其中的一个,则其余相同的模块通过复用的方式,可以快速完成,方便省事还美观。 具体步骤: 1.首先完成一个模块的PC

sinat_15677011的博客 5655

【hadoop】Yarn任务提交启动流程

本文概述了YARN(Yet Another Resource Negotiator)的任务提交与启动流程。首先介绍了YARN中的核心组件:ResourceManager(RM)负责全局资源调度,NodeManager(NM)管理单节点资源,ApplicationMaster(AM)协调具体应用运行,以及Container作为资源封装单位。然后详细描述了任务从客户端提交到最终运行的8个主要步骤:客户端请求启动AM→RM分配资源→NM启动AM→AM注册并申请任务资源→RM分配任务Container→AM请求NM

九师兄 128

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

启动linux 集群中大数据组件的流程:zookeeper、hadoop、yarn 、hive、hbase

1 同步时间:ntpdate time1.aliyun.com(前提是在安装linux的时候,要配置time1.aliyun.com) 2 启动zookeeper:启动QuorumPeerMain 进程 (1)查看zk的状态:./ssh_all_zookeeper.sh /usr/local/zookeeper/bin/zkServer.sh start (2)停止zk:./ssh_all...

统木木的博客 502

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Hadoop-Yarn-启动篇

1、用户执行./start-yarn.sh2、start-yarn.sh中依次启动resourceManager、nodemanager、proxyserver3、根据yarn命令和hadoop-functions.sh找到三个角色的启动类,并且在本地或者远程(通过ssh的方式)启动各自的java进程4、resourceManager、nodemanager、proxyserver初始化各自的服务列表。

lu070828的博客 3285

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

hadoop-yarn启动流程分析

Hadoop YARN启动流程一 YARN的启动流程YARN 启动流程1.提交应用及其使用到的资源 用户向YARN中(RM)提交应用程序,其中包括ApplicationMaster程序、启动ApplicationMaster的命令、用户程序等。客户端将应用程序所需的文件资源(外部字典、JAR包、二进制文件等)提交到 HDFS.2.启动ApplicationMaster,...

weixin_33910460的博客 131

YARN-ApplicationMaster启动流程

流程图 代码流程 1、客户端提交Application // ClientRMService.java public SubmitApplicationResponse submitApplication( SubmitApplicationRequest request) throws YarnException { try { // call RMAppMana...

xw514124202的博客 1295

Yarn源码分析之集群启动流程

文章目录集群启动脚本分析ResourceManager启动流程初始化流程启动流程中央事件调度器-AsyncDispatcher 本文以hadoop2.7.1的源码分析(主要是最新版本考虑更多因素,源码不够纯粹) 集群启动脚本分析 首先我们从启动hadoop集群说起,我们一般在单点hadoop启动集群一般直接使用 sbin/start-all.sh 或 sbin/stop-all.sh ,我们直接看...

Haiwi-Song 1504

Hadoop脚本启动之Start-all.sh脚本流程解析

之前只是知道用start-all.sh偷懒,有时间刚好看了一遍这个脚本的整体流程,以start-all.sh作为出发,了解整个脚本启动的流程对于理解集群配置还是有一定帮助的,起码可以了解bin目录下对应的各种脚本大致是做什么用的,废话不多说,直接开始分析流程,还是和之前的模式一样,直接在脚本中添加了注释,通过注释的方式进行说明。这个我们十分熟悉的脚本,一般我们如果单独启动某些应用例如namenode、datanode就是通过这个脚本来启动的,这里通过脚本的形式自动调用。针对性的启动不同的进程服务,...

m0_67401134的博客 3504

hadoop启动页面_hadoop启动流程

1、集群分布:集群分布启动hadoop流程1、关闭防火:机器:node01-04命令:service iptables stop2、启动ZK机器:node02-04命令:zkServer.sh start3、启动hadoop机器:node01start-dfs.sh || hadoop-daemon.sh start zkfc4、启动yarm资源调度机器:node014.1、yarm resour...

weixin_31159439的博客 698

YARN distributedshell AM 源码流程查看2

前言 1.此博客是对YARN distributedshell AM 源码流程查看1一步优化,上一篇过多的是源码,此篇是时序图,看起来流程更直观,推荐先看一下第一篇 2.hadoop版本:3.1.1 3.我文字表达能力不强,所以才画图的。画图不易请多多支持 正文 1.从main函数开始 下图中第7步为向ack 添加请求,ack 数据类型是Set distributedshell AM流程序列图1 2.第二张序列图-处理ack 承接第一张序列图第7步,He...

ly72605的博客 261

Hadoop高可用平台启动(HDFS+Zookeeper+Yarn)相关操作及Hbase\MySQL\Hive启动

Hadoop高可用平台启动相关操作 Hadoop高可用平台启动HDFS+Zookeeper+Yarn及MySQL+Hbase+Hive启动相关操作 一、Hadoop高可用平台启动顺序 1 启动Zookeeper集群 在hadoop2、hadoop3、hadoop4上执行 zkServer.sh start [root@hadoop2 ~]# zkServer.sh start JMX enable...

weixin_45568892的博客 653

hadoop架构分析之启动脚本分析(yarn部分)

一.start-yarn.cmd (1)set HADOOP_BIN_PATH=%~dp0 设置HADOOP_HOME=当前目录(2)set HADOOP_BIN_PATH=%HADOOP_BIN_PATH:~0,-1% 去掉最后一个’\’符号(3)set DEFAULT_LIBEXEC_DIR=%HADOOP_BIN_PATH%\..\libexec 设置本地执行目录文件(4)call %HAD

OhHusky的博客 678

hadoop集群关闭与启动

关闭hadoop集群:yarn–>hdfs 第一台 [hadoop@iZm5egvghvhhyj2r5iixetZ hadoop-2.6.0-cdh5.7.0]$ stop-yarn.sh stopping yarn daemons stopping resourcemanager hadoop003: stopping nodemanager hadoop001: stopping nod...

Jaserok的博客 2015
上一篇: Hadoop - YARN 概述
下一篇: Hadoop - MapReduce MRAppMaster-剖析
张哲BJUT
博客等级 码龄15年 151粉丝 111原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值