Hadoop总结篇之二--yarn的概况

在弄清楚yarn是什么之前,先来看一下MRv1。

它的由编程模型+数据处理引擎(map/reduceTask)+运行时环境组成(JobTracker/TaskTracker)。其中JobTracker存在很多问题,如下:

1、JobTracker本身承担了调度和计算的任务,太累了

2、JobTracker是单点的,不好扩展不能支持其他计算框架,还有单点故障风险

3、资源是以槽位的方式来调度。粗粒度,不合理。比如提交了一个特别占用资源的任务,整个节点就被占用了。还有map阶段往往reduce槽位就是闲置,反之也是这样。

针对以上问题,MRv2做了以下优化:

1、拆分为资源调度和作业管理两个独立的服务。

2、可以部署集群,可以在yarn上运行其他框架(比如内存计算、流式计算)

3、资源的管理方式是Container,他是一组硬件资源(内存、cpu)等的集合。控制的更细粒度。

这样,新版MRv2,的组成为:编程模型+数据处理引擎(map/reduceTask)+运行时环境组成(yarn),前两者基本实现原理不变。

yarn的概念呼之欲出:

YARN 是Hadoop 2.0 中的资源管理系统,它是一个通用的资源管理模块,可为各类应 用程序进行资源管理和调度。

1、管理系统资源(ResourceManager)

2、管理作业(监控、容错)(ApplicationMaster)

YARN 不仅限于MapReduce 一种框架使用,也可以供其他框架使用。

yarn都包含哪些基本模块呢?

1、ResourceManager(RM) 全局资源管理器。负责资源的管理和分配。

2、ApplicationMaster(AM)应用程序主管,每一个作业对应一个。协调资源,分配任务,与NM通信启动任务,监控任务等。

3、NodeManager(NM)各个节点上的资源管理器。它有两个作用,监控本机资源使用情况汇报到RM;接收来自AM的Container启动/停止等指令

4、Container逻辑意义上的资源隔离机制。

其中,RM有两个主要组成模块:

1、Scheduler调度器

2、ApplicationManager应用程序管理器,作用是接收作业->向Scheduler请求资源(Container)分配给AM->启动AM->监控AM->容错AM。

 学习yarn,主要应该从以下几个类入手:

Job,ResourceManager,NodeManager,MRAPPMaster,YarnClient,MapTask,ReduceTask

其中ResourceManager,NodeManager,MRAPPMaster是类似的实现机制。都是服务模型,都是事件监听机制。如下图:

本篇主要介绍了yarn的组成模块,下一篇将从代码级别分析一个job提交过程。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏个人分享

Hadoop系统架构

步骤1 用户向YARN 中提交应用程序, 其中包括ApplicationMaster 程序、启动ApplicationMaster 的命令、用户程序等。

82430
来自专栏叁金大数据

HDFS你一定要知道,要考的

前面我们分析存储方案的发展的时候有提到分布式文件存储的出现是为了解决存储的三大问题:可扩展性,高吞吐量,高可靠性

12110
来自专栏Albert陈凯

Hadoop系统架构与简单介绍

Hadoop系统架构 一、Hadoop系统架构图 ? Hadoop1.0与hadoop2.0架构对比图 ? YARN架构: ResourceM...

43370
来自专栏恰童鞋骚年

Hadoop学习笔记—1.基本介绍与环境配置

说到Hadoop的起源,不得不说到一个传奇的IT公司—全球IT技术的引领者Google。Google(自称)为云计算概念的提出者,在自身多年的搜索引擎业务中构...

10210
来自专栏积累沉淀

Hadoop五个进程的作用和联系

1.NameNode:     相当于一个领导者,负责调度 ,比如你需要存一个1280m的文件     如果按照128m分块 那么namenode就会把这1...

20760
来自专栏LhWorld哥陪你聊算法

【Sqoop篇】----Sqoop从搭建到应用案例

今天开始讲解Sqoo的用法搭建和使用。Sqoop其实功能非常简单。主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进...

14610
来自专栏懒人开发

Zookeeper应用:hadoop的HA简单实现

hadoop的HDFS集群的分布式存储是靠NameNode节点(namenode负责响应客户端请求)来实现。NameNode对应整个hadoop来说,无非是很重...

92650
来自专栏程序生活

大数据入门与实战-Hadoop核心HDFSHadoop简介一、 HDFS概念及优缺点二、HDFS写流程与读流程三、Shell命令操作HDFS四 、Python程序操作HDFS

课程链接:https://www.imooc.com/video/16287 Hadoop简介 Hadoop是一个由Apache基金会所开发的分布式系统基础架构...

37760
来自专栏YG小书屋

Yarn与Mesos

Yarn是Hadoop2的产物。提到这个问题就不得不说下Hadoop1与Hadoop2的差别。详细的内容可参考博客:https://blog.csdn.net/...

14130
来自专栏码字搬砖

hive原理分析

基于hive1.1(从hive2.0开始,hive开始基于内存了,底层的实现框架不在基于MR)

40730

扫码关注云+社区

领取腾讯云代金券