Hadoop YARN(产生背景,YARN架构,yarn作业提交全过程,jobhistoryserver使用,资源调度器,yarn常用命令)

本文详细介绍了Hadoop YARN的产生背景、架构、工作机制,包括ResourceManager、ApplicationMaster、NodeManager和Container的角色。还涵盖了JobHistoryServer的配置与使用,以及FIFO、Capacity Scheduler和Fair Scheduler等资源调度器的工作原理。最后,讨论了YARN的常用命令,如任务管理和节点管理。
摘要由CSDN通过智能技术生成

一.YARN基础

1.YARN产生背景

在hadoop1.x中,MapReduce采用的是Master/Slave架构,在集群中表现为一个JobTracker和多个TaskTracker。
JobTracker负责资源管理和作业调度;
TaskTracker带那个气向JobTracker发送心跳信息,汇报本节点的健康状况,资源使用情况,以及任务执行情况,同时还可以接受并执行JobTracker的命令,如启动任务和杀死任务等。
hadoop1.x存在的问题:
(1)可靠性差(JobTracker单点故障):
整个集群中只有一个JobTracker,会存在单点故障的隐患,当JobTracker出现故障后,代表整个集群都不能提供服务
(2)JobTracker节点压力大
JobTracker承载职责过多,不仅要处理来自客户端的请求,还有接收大量的tasktracker节点的请求。
(3)不易扩展
由于JobTracker是单节点,严重制约了hadoop集群的扩展性。
(4)不支持多种计算框架
只支持MapReduce作业,不支持提交其他框架的作业。
(5)资源利用率低
在 TaskTracker 端,用 Map/Reduce Task 作为资源的表示过于简单,没有考虑到 CPU、内 存等资源情况,当把两个需要消耗大内存的 Task 调度到一起,很容易出现 OOM。

2.YARN概述

Apache Hadoop YARN(Yet Another Resource Negotiator,另一种资源协调者)是一种新的hadoop资源管理系统,是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度.

二.YARN架构

YARN的架构也是Master/Slave架构,由Client,ResourceManager(RM),NodeManager(NM)组成。
YARN的基本思想是JobTracker的两个主要职责——资源管理和作业调度交给全局的ResourceManager和代表每个应用的ApplicationMaster。
在这里插入图片描述
从YARN架构图来看,主要有Client,ResourcesManager,NodeManager,ApplicationMaster和Container等组件构成

1.ResourcesManager(RM)。

(1)ResourcesManager含义

RM是一个全局的资源管理器,整个集群只有一个,负责整个系统的资源管理和作业调度。
由**调度器(Scheduler)应用程序管理器(Application Manager,ASM)**组成。

(2)ResourcesManager组成

  • 调度器根据容量,队列等限制条件(如每个队列分配一定的资源,最多执行一定数量的作业等),将系统中的资源分配给正在运行的应用程序。
  • 应用程序管理器负责管理整个系统的所有应用程序,包括应用程序的提交以及与调度器协商资源以启动ApplicationManager,监控ApplicationManager运行状态并在失败时启动它。

(3)RM的作用

1)处理客户端的请求;
2)启动或监控ApplicationMaster
3)监控NodeManager
4)资源的分配和调度

2.ApplicationMaster(AM)。

(1)ApplicationMaster含义

用户提交的每一个用用程序都包含一个AM,主要负责应用程序的管理。

(2)AM的作用

1)进行数据的切分
2)为应用程序向RM调度器申请资源,并分配给内部任务
3)与NM通信,启动/停止任务
4)监控任务运行状态,并提供容错机制
5)接收RM的命令并执行。

3.NodeManager(NM)

(1)NodeManager含义

管理YARN集群中的每个节点。

(2)NM作用

1)周期性的向RM汇报本节点的资源使用情况和Container运行状态
2)接收和处理AM发送的Container启动/停止等请求。

4.Container

(1)Container含义

Container是YARN中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等,当AM向RM申请资源时,RM为AM返回的资源便是用Container表示的。YARN会为每个任务分配一个Container,且该任务只能使用该Container中描述的资源。

(2)Container作用

对任务运行环境进行抽象,封装CPU、内存等多维度的资源以及环境变量、启动命令等任务运行相关的信息。

5.Client客户端。

可以提交作业、查询作业的运行进度以及结束作业。

三.YARN工作机制

在这里插入图片描述

工作机制详解

1.作业提交

(1)client调用job.waitForCompletion方法,向整个集群提交MapReduce作业;
(2&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值