YARN任务执行流程(附图)

yarn简述

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

关键字解释

ResourceManager:总的老大:处理客户端请求,监控NodeManager,启动或监控ApplicationMaster,资源的分配与调度
ApplicationMaster:单个job的老大:负责数据切分,为应用程序申请资源并分配内部的任务,任务的监控与容错
NodeManager:单个节点的老大:管理单个节点的资源,处理来自ResourceManager、ApplicationMaster的命令
Container:资源抽象:如内存、cpu、磁盘、网络等

YARN任务执行流程图

作业提交运行情况

1.client向yarn提交job,首先找ResourceManager分配资源,
2.ResourceManager开启一个Container,在Container中运行一个Application manager
3.Application manager找一台nodemanager启动Application master,计算任务所需的计算
4.Application master向Application manager(Yarn)申请运行任务所需的资源
5.Resource scheduler将资源封装发给Application master
6.Application master将获取到的资源分配给各个nodemanager
7.各个nodemanager得到任务和资源开始执行map task
8.map task执行结束后,开始执行reduce task
9.map task和 reduce task将执行结果反馈给Application master
10.Application master将任务执行的结果反馈Application manager

Hadoop YARN(Yet Another Resource Negotiator)是Hadoop的集群资源管理系统,负责集群资源的分配和任务的调度。以下是Hadoop YARN的执行流程: 1. 提交作业:用户通过客户端向YARN提交作业,包括应用程序的代码和所需的资源配置。 2. 资源请求:YARN的ResourceManager接收到作业提交请求后,会为该作业分配一个唯一的Application ID,并将作业相关的信息记录在内部数据结构中。 3. 资源分配:ResourceManager根据集群中可用的资源情况,分配合适的Container给作业。Container是一个虚拟的计算资源单元,可以运行一个或多个任务。 4. 任务调度:一旦ResourceManager为作业分配了Container,它会将Container的相关信息发送给NodeManager,NodeManager负责管理和监控Container的运行。 5. 任务执行:一旦NodeManager接收到Container的信息,它会启动Container,并运行作业中的任务。任务可以是Map任务或Reduce任务,由应用程序代码定义。 6. 任务监控:NodeManager会监控任务的运行状态,并将进度和日志信息发送给ResourceManager。 7. 容错和恢复:如果任务失败或节点故障,YARN会自动重新分配和启动失败的任务。此外,它还能够根据配置策略进行容错和恢复操作。 8. 完成作业:当作业中的所有任务都成功完成时,YARN会将作业的最终状态和结果返回给客户端。 总体而言,Hadoop YARN通过ResourceManager和NodeManager的协调与管理,实现了任务的分配、调度和执行,以及容错和恢复等功能,从而实现了高效的集群资源管理和作业执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值