Hadoop YARN功能介绍--资源管理、调度任务

Hadoop YRAN介绍

YARN是一个通用资源管理系统平台和调度平台,可为上层应用提供统一的资源管理和 调度。

他的引入为集群在利用率、资源统一管理和数据共享等方面带来了好处。

1.资源管理系统

集群的硬件资源,和程序运行无关,比如内存、cup

2.调度平台

资源如何分配

3.通用

支持各种计算程序

YARN架构、组件

ResourceManager(物理层面集群)

RM是YARN集群的主角色,决定系统中所有应用之间资源分配的最终权限,即最终仲裁者。

NodeManager

YARN的从角色,一个机器上一个,负责管理本机器上的计算机资源。

AplicationMaster(App层面集群)

用户提交均包含一个AM应用程序的老大,负责程序的内部各阶段的资源申请,监督程序的执行情况

Client

Contairner容器(资源的抽象)

程序提交YARN集群交互流程

MR作业提交 Clinet--->RM

资源的申请MrAppMaster-->RM

MR作业状态汇报Container-->Container

节点的状态汇报 NM--RM、

当用户提交向YARN中提交了一个应用程序之后,YRAN将分为两个阶段该应用程序

第一个阶段客户端申请资源启动运行本次程序的ApplicationMaster

第二个阶段是由ApplicationMaster根据本次程序内部情况,为它申请资源,并监控整个运行过程。直到运行完成

第三阶段ApplicationMaster启动成功之后,首先向ResourceManager注册并保持通信,这样用户通过ResourceManager查看应用程序运行状态

第四阶段AM为本次程序内部的各个TASK任务向RM申请资源,并监控他的运行状态

第五个阶段一旦ApplicationMAster申请到资源后,便与对应的NodeMAster通信,要求启动任务

第六阶段NodeManager为任务设置好运行环境后,将任务启动命令写到一个脚本中,并通过运行改脚本启动任务。

第七个阶段各个任务通过RPC协议向ApplicationMaster汇报自己的状态和进度

第八个阶段应用程序 运行完成后,ApplicationMaster向ResourceManager注销并关闭自己

YARN资源调度器

FIFOSchedule(先进先出调度器)Capacity Scheduler(容量调度器)Fair Schedule(公平调度器)

Apache版本默认使用Capacity Schedule调度器

如果需要使用其他的调度器 可以在Yarn--site.xml中的yarn.Resource.Schedule.class 进行配置

FIFOSchedule(先进先出调度器)

Capacity Scheduler(容量调度器)

Fair Schedule(公平调度器)

相关推荐
python算法(魔法师版)15 分钟前
.NET NativeAOT 指南
java·大数据·linux·jvm·.net
星川皆无恙30 分钟前
大模型学习:Deepseek+dify零成本部署本地运行实用教程(超级详细!建议收藏)
大数据·人工智能·学习·语言模型·架构
L耀早睡1 小时前
mapreduce打包运行
大数据·前端·spark·mapreduce
姬激薄1 小时前
MapReduce打包运行
大数据·mapreduce
计算机人哪有不疯的1 小时前
Mapreduce初使用
大数据·mapreduce
菜鸟冲锋号2 小时前
Flink SQL、Hudi 、Doris在数据上的组合应用
大数据·flink
尘世壹俗人2 小时前
hadoop.proxyuser.代理用户.授信域 用来干什么的
大数据·hadoop·分布式
白露与泡影3 小时前
基于Mongodb的分布式文件存储实现
分布式·mongodb·wpf
鸿乃江边鸟4 小时前
Starrocks的主键表涉及到的MOR Delete+Insert更新策略
大数据·starrocks·sql
追风赶月、4 小时前
【Redis】redis用作缓存和分布式锁
redis·分布式·缓存