MapReduce和Yarn技术原理

MapReduce和Yarn技术原理

一、MapReduce概述

  1. MapReduce基于Google---MapReduce论文设计开发
  2. 基于函数式mapperreducer)编程的思想,用于大规模数据集(大于1TB) 的并行计算离线计算
  3.  特点: 

(1)函数式编程:程序员仅需描述做什么,具体怎么做交由系统的执行框架处理。

(2)良好的扩展性:可通过添加节点以扩展集群能力。

        (3)高容错性:通过计算迁移或数据迁移等策略提高集群的可用性与容错性

二、MapReduce工作原理:分而治之 

举例:(评选校级优秀学生------每个学院先评选出优秀学生-----汇总)

Map阶段和Reduce阶段

 

 

1、单词汇总为例

 

2、Map和Reduce的过程

 

4.Shuffle机制

 

Shuffle的定义:Map阶段和Reduce阶段之间传递中间数据的过程

三、Yarn组件架构

 

YARN是一个资源管理、任务调度的框架,主要包含三大模块:ResourceManager(RM)、NodeManager(NM)、ApplicationMaster(AM)。

ResourceManager负责所有资源的监控、分配和管理,一个集群只有一个

NodeManager负责每一个节点的维护,一个集群有多个

ApplicationMaster负责每一个具体应用程序的调度和协调,一个集群有多个

1、ResourceManager负责整个集群的资源管理和分配

NodeManager以心跳的方式向ResourceManager汇报资源使用情况(目前主要是CPU和内存的使用情况)。RM只接受NM的资源回报信息,对于具体的资源处理则交给NM自己处理。

YARN Scheduler根据application的请求为其分配资源,不负责application job的监控、追踪、运行状态反馈、启动等工作

2、NodeManager是每个节点上的资源和任务管理器

(1)YARN集群每个节点都运行一个NodeManager

(2)NodeManager定时向ResourceManager汇报本节点资源(CPU、内存)的使用情况和Container的运行状态。当ResourceManager宕机时NodeManager自动连接RM备用节点。

(3)NodeManager接收并处理来自ApplicationMaster的Container启动、停止等各种请求

3、每个应用程序均包含一个ApplicationMaste

(1)负责与RM调度器协商以获取资源(用Container表示)。

(2)与NM通信以启动/停止任务。

(3)监控所有任务运行状态,并在任务运行失败时重新为任务申请资源以重启任务。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值