YARN集群搭建与使用

原创 2018年04月13日 17:50:08

一 yarn简介

Yarn(Yet Another Resource Negotiator是Hadoop集群的资源管理系统它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。

二 YARN的核心思想

将JobTracker和TaskTracker进行分离,它由下面几大构成组件:
a. 一个全局的资源管理器 ResourceManager
b.ResourceManager的每个节点代理 NodeManager
c. 表示每个应用的 ApplicationMaster
d. 每一个ApplicationMaster拥有多个Container在NodeManager上运行

二Yarn的组件及架构

ResourceManager(RM)

RM是一个全局的资源管理器,负责整个系统的资源管理和分配。它主要由两个组件构成:调度器(Scheduler)和应用程序管理器(Applications Manager,ASM)。
调度器 调度器根据容量、队列等限制条件(如每个队列分配一定的资源,最多执行一定数量的作业等),将系统中的资源分配给各个正在运行的应用程序。需要注意的是,该调度器是一个“纯调度器”,它不再从事任何与具体应用程序相关的工作,比如不负责监控或者跟踪应用的执行状态等,也不负责重新启动因应用执行失败或者硬件故障而产生的失败任务,这些均交由应用程序相关的ApplicationMaster完成。调度器仅根据各个应用程序的资源需求进行资源分配,而资源分配单位用一个抽象概念“资源容器”(Resource Container,简称Container)表示,Container是一个动态资源分配单位,它将内存、CPU、磁盘、网络等资源封装在一起,从而限定每个任务使用的资源量。此外,该调度器是一个可插拔的组件,用户可根据自己的需要设计新的调度器,YARN提供了多种直接可用的调度器,比如Fair Scheduler和Capacity Scheduler等。
应用程序管理器应用程序管理器负责管理整个系统中所有应用程序,包括应用程序提交、与调度器协商资源以启动ApplicationMaster、监控ApplicationMaster运行状态并在失败时重新启动它等。

ApplicationMaster(AM)

用户提交的每个应用程序均包含一个AM,主要功能包括:
与RM调度器协商以获取资源(用Container表示);
将得到的任务进一步分配给内部的任务(资源的二次分配);
与NM通信以启动/停止任务;
监控所有任务运行状态,并在任务运行失败时重新为任务申请资源以重启任务。
当前YARN自带了两个AM实现,一个是用于演示AM编写方法的实例程序distributedshell,它可以申请一定数目的Container以并行运行一个Shell命令或者Shell脚本;另一个是运行MapReduce应用程序的AM—MRAppMaster。
注:RM只负责监控AM,在AM运行失败时候启动它,RM并不负责AM内部任务的容错,这由AM来完成。

NodeManager(NM)

NM是每个节点上的资源和任务管理器,一方面,它会定时地向RM汇报本节点上的资源使用情况和各个Container的运行状态;另一方面,它接收并处理来自AM的Container启动/停止等各种请求。

Container

Container是YARN中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等,当AM向RM申请资源时,RM为AM返回的资源便是用Container表示。YARN会为每个任务分配一个Container,且该任务只能使用该Container中描述的资源。
注:1. Container不同于MRv1中的slot,它是一个动态资源划分单位,是根据应用程序的需求动态生成的。
2. 现在YARN仅支持CPU和内存两种资源,且使用了轻量级资源隔离机制Cgroups进行资源隔离。
YARN的资源管理和执行框架都是按主/从范例实现的——Slave ---节点管理器(NM)运行、监控每个节点,并向集群的Master---资源管理器(RM)报告资源的可用性状态,资源管理器最终为系统里所有应用分配资源。
特定应用的执行由ApplicationMaster控制,ApplicationMaster负责将一个应用分割成多个任务,并和资源管理器协调执行所需的资源,资源一旦分配好,ApplicationMaster就和节点管理器一起安排、执行、监控独立的应用任务。
需要说明的是, YARN不同服务组件的通信方式采用了事件驱动的异步并发机制,这样可以简化系统的设计。

三 YARN安装

分布式计算程序(比如mapreduce程序)的运行调度平台;

它本身也是一个分布式系统:主节点--> ResourceManager ,从节点--> NodeManager

安装:

配置文件:设置yarn.resourcemanager.hostname 为其中一台机器

配置好后 远程传给其他的机器

 

vi  /root/apps/hadoop-2.8.1/etc/hadoop/yarn-site.xml

<property>

<name>yarn.resourcemanager.hostname</name>

<value>wangzhihua1</value>

</property>

 

 

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

 

<property>

<name>yarn.nodemanager.resource.memory-mb</name>

<value>2048</value>

</property>

 

 

<property>

<name>yarn.nodemanager.resource.cpu-vcores</name>

<value>2</value>

</property>

 

启动:

start-yarn.sh     注意:一定要在配置成ResourceManager的节点上执行该脚本!





Hadoop-2.7.3集群(YARN)搭建

在上一篇《Hadoop集群(HDFS)搭建》之后,继续记录整理YARN的搭建。 mapred-site.xml mapreduce.f...
  • i792439187
  • i792439187
  • 2017-01-19 09:24:03
  • 1975

Hadoop 2.2 YARN分布式集群搭建配置流程

搭建环境准备:JDK1.6,SSH免密码通信 系统:CentOS 6.3 集群配置:NameNode和ResourceManager在一台服务器上,三个数据节点 搭建用户:YARN Hadoo...
  • uf_fantn
  • uf_fantn
  • 2013-11-27 17:37:10
  • 3607

【Flink】Flink集群部署与YARN集成

1、Standalone 软件要求: Java 1.8.x or higher ssh JAVA_HOME配置 You can set this variable in ...
  • wangweislk
  • wangweislk
  • 2018-01-17 10:11:47
  • 449

Hadoop集群搭建(HDFS和Yarn集群)

hadoop集群搭建(HDFS和Yarn集群)1.安装hadoop2.7.4上传hadoop的安装包到服务器 hadoop-2.7.4-with-centos-6.7.tar.gz 解压安装包 ...
  • qq_34256270
  • qq_34256270
  • 2017-12-11 16:05:55
  • 112

Spark On Yarn集群环境搭建

一、Scala安装 下载scala安装包,地址:http://www.scala-lang.org/download/ 配置环境变量 下载完成后,解压到指定的目录下,在/etc/profi...
  • u014039577
  • u014039577
  • 2016-03-08 19:43:04
  • 2272

Spark2.0.0集群环境部署(Spark On Yarn)

Spark 2.0.0发布已经有一段时间了,目前公司生产环境还是使用1.6系列版本。为了测试Spark 2.0.0各方面的稳定性和计算性能,我基于CDH集群环境,搭建了Spark On Yarn集群环...
  • jiangshouzhuang
  • jiangshouzhuang
  • 2016-08-08 18:05:46
  • 9644

Flink on Yarn(HA配置)

Flink Yarn HA
  • lmalds
  • lmalds
  • 2016-12-21 17:47:03
  • 1934

spark2.0.1 on yarn with hue 集群搭建部署(三)msyql安装

mysql下载安装 下载mysql下载地址:http://dev.mysql.com/downloads/file/?id=466134 mysql rpm包安装 mysql第一安装获取root登入...
  • dockj
  • dockj
  • 2016-11-23 23:14:20
  • 369

Hadoop 2.2.0 集群搭建

在前面我有写过关于 Hadoop 集群的搭建,不过之前的 Hadoop 是 1.x 版本的。目前是基于 2.x 版本的 Hadoop,与之前的 1.x 版本的差别还是挺大的。以及更为详细的 SSH 免...
  • u013761665
  • u013761665
  • 2016-05-04 17:56:18
  • 10505

Spark2.0.1 on yarn with hue 集群搭建部署(一)基础环境配置

spark on yarn系统基础环境配置搭建 spark on yarn +hue linux基础环境配置以及jdk安装。...
  • dockj
  • dockj
  • 2016-11-07 23:21:59
  • 895
收藏助手
不良信息举报
您举报文章:YARN集群搭建与使用
举报原因:
原因补充:

(最多只允许输入30个字)