分布式资源调度框架YARN

 YARN的前世今生

Hadoop1.x版本中最大的问题是资源问题

对数据的处理和资源调度主要依赖MapReduce完成,只能运行MapReduce程序

JobTracker负责资源管理和程序调度,压力较大

Hadoop2.x版本添加YARN

主要负责集群资源管理

YARN概述

YARN(Yet Another Resource Negotiator)

核心思想是将资源管理和任务的监控和调度分离

通用的资源管理系统,可为不同的应用(MapReduce、Spark、Flink等)提供统一的资源管理和调度

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

 YARN的基本架构核心组件

YARN的架构是master/slaves的主从架构

master:ResourceManager->全局资源管理 负责集群全局统一的资源管理、调度、分配

slave:NodeManager->节点资源管理器 启动了NodeManager进程的节点 负责管理节点的资源及使用情况

YARN核心组件(包含ResourceManager和NodeManager)

ApplicationMaster     Container

 

YARN架构核心组件-ResouceManager

ResourceManager组成

ResourceScheduler->资源调度器,根据节点的容量、队列情况,为应用程序分配资源

Application Manager->应用程序管理器,负责接受Client端传输的job请求

ResourceManager功能

处理客户端请求

监控NodeManager

启动和监控ApplicationMaster,进行必要的重启 整个系统的资源分配和调度

NodeManager

NodeManager功能

本节点上的资源管理和任务管理

定时向ResourceManager汇报本节点上的资源使用情况和各个Container的运行情况

接收和处理来自ResourceManager的Container启动和停止的各种命令

处理来自ApplicationMaster的指令,比如启动MapTask和ReduceTask指令

ApplicationMaster

ApplicationMaster功能

每个应用程序对应一个ApplicationMaster,负责单个应用程序的管理

负责数据切分

为应用程序向ResourceManager申请资源(Container),并分配内部任务(MapTask和ReduceTask)

与NodeManager通信来启动/停止任务,Task都是运行在Container中的

负责任务的监控和容错,当某些Task运行出错时,进行容错处理

Container

Container是YARN中资源抽象,封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等

Container类似于一个虚拟机,可以在上面执行任务

YARN的工作机制

YARN上提交MapReduce程序

Jar位置

/opt/hadoop/share/hadoop/mapreduce

Jar名称

hadoop-mapreduce-examples-2.6.0-cdh5.14.2.jar

执行

hadoop jar  hadoop-mapreduce-examples-2.6.0-cdh5.14.2.jar wordcount  /user/data  /user/out

启动JobHistoryServer

HADOOP_HOME/sbin/mr-jobhistory-daemon.sh
mr-jobhistory-daemon.sh start historyserver

jps查看进程存在JobHistoryServer则成功

YARN上提交MapReduce程序

使用YARN WebUI查看任务执行情况

YARN整体资源情况

Mapper运行情况详细信息

Reducer运行情况详细信息

任务历史信息

YARN的资源调度器

目前Hadoop作业调度器有三种

FIFO:先进先出调度器

Capacity Scheduler:容量调度器

Fair Scheduler:公平调度器
默认的作业调度器可以在yarn-default.xml文件中查看,属性如下

yarn.resourcemanager.scheduler.class

Hadoop版本2.6.0-cdh5.14.2的默认调度器是公平调度器

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值