运行在YARN上的应用程序主要分为两类:
(1)短应用程序
(2)长应用程序
短应用程序是指一定时间内(可能是秒级、分钟级或小时级,尽管天级别或者更长时间的也存在,但非常少)可运行完成并正常退出的应用程序,比如MapReduce作业、Tez DAG作业等.
长应用程序是指不出意外,永不终止运行的应用程序,通常是一些服务,比如Storm Service(主要包括Nimbus和Supervisor两类服务),HBase Service(包括Hmaster和RegionServer两类服务)等,而它们本身作为一个框架提供了编程接口供用户使用。
尽管这两类应用程序作用不同,一类直接运行数据处理程序,一类用于部署服务(服务之上再运行数据处理程序),但运行在YARN上的流程是相同的。
当用户向YARN中提交一个应用程序后,YARN将分两个阶段运行该应用程序:
第一个阶段是启动ApplicationMaster;
第二个阶段是由ApplicationMaster创建应用程序,为它申请资源,并监控它的整个运行过程,直到运行完成。
如图2-11所示,YARN的工作流程分为以下几个步骤:
步骤1 用户向YARN中提交应用程序,其中包括ApplicationMaster程序、启动ApplicationMaster的命令、用户程序等。
步骤2 ResourceManager为该应用程序分配第一个Container(这里可以理解为一种资源比如内存),并与对应的Node-Manager通信,要求它在这个Container中启动应用程序的ApplicationMaster。
步骤3 ApplicationMaster首先向ResourceManager注册,这样用户可以直接通过ResourceManage查看应用程序的运行状态,然后它将为各个任务申请资源,并监控它的运行状态,直到运行结束,即重复步骤4~7。
步骤4 ApplicationMaster采用轮询的方式通过RPC协议向ResourceManager申请和领取资源。
步骤5 一旦ApplicationMaster申请到资源后,便与对应的NodeManager通信,要求它启动任务。
步骤6 NodeManager为任务设置好运行环境(包括环境变量、JAR包、二进制程序等)后,将任务启动命令写到一个脚本中,并通过运行该脚本启动任务。
步骤7 各个任务通过某个RPC协议向ApplicationMaster汇报自己的状态和进度,以让ApplicationMaster随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务。
在应用程序运行过程中,用户可随时通过RPC向ApplicationMaster查询应用程序的当前运行状态。
步骤8 应用程序运行完成后,ApplicationMaster向ResourceManager注销并关闭自己。
<ignore_js_op style="word-wrap: break-word;">
相关推荐
YARN 调度流程详解 YARN(Yet Another Resource Negotiator)是 Hadoop 生态系统中的资源管理层,负责管理和调度集群中的资源。YARN 调度流程是大数据处理中的一個关键步骤,下面我们将详细介绍 YARN 调度流程的...
本文将详细介绍YARN的基本运作流程,帮助读者理解YARN各组件如何协同工作来完成一个作业的执行。 #### 二、YARN架构概览 YARN主要包括以下几个核心组件: 1. **ResourceManager (RM)**:集群中的中心管理器,负责...
YARN 的工作流程可以分为八个步骤: 1. 向 YARN 提交应用程序。 2. RM 分配第一个 Container,并与对应的 NM 通信,要求它在这个 Container 启动应用程序的 ApplicationMaster。 3. AM 首先向 RM 注册,通过 RM ...
从文件中提供的信息来看,董西成在其关于Hadoop YARN程序设计与应用案例的演讲中,涵盖了Hadoop YARN的定义、架构、API和开发步骤、应用类型、以及YARN API所涉及的通信协议和客户端库等核心知识点。以下是对这些...
三、YARN工作流程 1. 应用提交:客户端向ResourceManager提交应用,包含应用程序JAR、配置信息等。 2. 分配资源:ResourceManager为应用分配第一个Container,并启动ApplicationMaster。 3. 资源请求:...
三、YARN工作流程 1. 应用提交:用户提交一个应用程序,包含AM的JAR文件和启动参数等。 2. RM启动AM:RM收到应用请求后,为该应用分配一个Container,并启动AM。 3. AM申请资源:AM向RM申请执行任务所需的Container...
YARN的工作流程主要包括应用程序提交、资源请求、资源分配、任务执行和监控。当一个应用程序提交给YARN后,ResourceManager将为该应用程序启动一个ApplicationMaster实例,然后ApplicationMaster会向ResourceManager...
Yarn 获取 Application 列表编码是指通过 Yarn 客户端 API 获取当前 Hadoop 集群中的应用程序列表,并获取每个应用程序的详细信息。该操作通常用于监控和管理 Hadoop 集群中的应用程序,例如,获取应用程序的状态、...
通过工作区,Yarn可以优化整个项目的工作流程,比如批量安装所有子项目的依赖,提高开发效率。 **安全性和可靠性** Yarn通过校验每个下载的包的完整性,确保了安装的安全性。它使用SHA集和哈希值来验证文件,一旦...
这两个文件,"yarn-1.22.4.msi" 和 "yarn-1.22.5.msi",是Yarn的特定版本安装程序,适用于Windows操作系统,因为它们的扩展名是".msi",这是Microsoft Installer的文件格式。 Yarn 1.22.4和1.22.5是稳定版本,每个...
【Yarn工作机制和作业提交流程】是Hadoop生态系统中至关重要的一部分,它负责管理和调度分布式计算资源,确保高效地执行MapReduce等运算程序。Yarn,全称Yet Another Resource Negotiator,是一个资源调度平台,它的...
"yarn1.6.msi"是Yarn 1.6的Windows安装程序,你可以通过提供的链接或在Yarn官方网站的历史版本页面下载这个文件。这个.msi文件是Windows Installer格式,适用于Windows系统。 3. **安装步骤** - 双击下载的"yarn...
【标题】:Hadoop技术YARN工作机制 在大数据处理领域,Apache Hadoop是一个不可或缺的核心组件,它提供了一个分布式文件系统(HDFS)以及一个资源管理框架——YARN(Yet Another Resource Negotiator)。YARN是...
通过理解YARN的工作机制和提供的API,开发者可以构建强大的工具来管理和监控Hadoop集群上的应用程序,确保资源的有效利用和优化。在实际的生产环境中,这些功能对于监控作业进度、资源利用率以及问题排查都至关重要...
`Yarn` 遵循 `npm` 的包管理和工作流程,但它的优势在于缓存策略和锁定文件(`yarn.lock`),确保在不同环境下有相同版本的依赖。默认情况下,`Yarn` 使用 `package.json` 文件中的 `scripts` 字段来执行命令,如 `...
Yarn的主要目标是提供更快、更安全、更可靠的依赖包管理和工作流程。它通过引入了一些关键特性来实现这些目标: 1. **缓存**:Yarn将下载的包存储在本地的全局缓存中,减少了网络请求,提高了重复安装的速度。 2. *...
### 三、YARN 工作流程 1. **应用程序提交**:用户或应用程序通过客户端提交作业到ResourceManager,包含作业的配置信息和应用程序的JAR包。 2. **RM分配AM**:ResourceManager接收到请求后,为应用程序分配一个...
4. **工作区支持**:Yarn 工作区允许在单个仓库中管理多个独立的项目,每个项目有自己的包依赖,同时可以共享全局依赖,简化了多项目管理。 5. **安全性**:Yarn 提供了安全扫描功能,可以检查依赖包的安全漏洞,并...
YARN的工作流程可以概括为以下几个步骤: 1. 用户提交应用程序到ResourceManager,同时指定ApplicationMaster。 2. RM为应用程序分配第一个Container(资源容器)并通知NM启动AM。 3. AM与RM协商,申请更多Container...
总结来说,Yarn 1.22.4和1.22.5为Windows用户提供了一种高效且可靠的JavaScript包管理方案,通过选择合适的安装方法,并利用其独特的特性和功能,可以优化项目管理和开发流程。确保定期更新Yarn以获取最新的改进和...