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(公平调度器)

你可能感兴趣的:(hadoop,大数据,分布式)