学习_006_Hadoop学习从零到一系列课程(3):YARN和MapReduce精讲

本文深入讲解了Hadoop中的YARN和MapReduce。YARN作为资源管理系统,包括Resource Manager、Node Manager和ApplicationMaster等组件,负责任务调度和容错。MapReduce是并行编程模型,通过map和reduce处理大规模数据集。文章还分享了学习MapReduce的心得体会。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

课程说明
内容
课程类型视屏课程
内容类型Hadoop
课程名称Hadoop学习从零到一系列课程(3):YARN和MapReduce精讲
地址https://edu.youkuaiyun.com/course/detail/2343
时长86
费用会员免费
课程目录和概要
YARN部分

一.YARN诞生

  1. Hadoop2.0由HDFS、MapReduce和YARN三个部分组成
  2. MapReduce运行在YARN上
  3. YARN是资源管理系统

二.YARN组成

  1. Resource Manager(全局资源管理器,整个集群只有一个,负责集群资源统一管理和调度)
  2. Node Manager(节点管理器,整个集群有多个,搭建在Data Node上,负责启动MR或MPI App Mstr,单节点资源的管理和使用)
  3. MR App Mstr(ApplicationMaster,应用程序管理器,每个应用有一个,负责应用程序的管理,数据切分,申请资源,分配内部任务,任务监控与容错)
  4. Container(资源(节点、内存、cpu)容器,对任务运行环境的抽象,用来运行task)
  5. task(具体的任务,用来处理数据,输出结果)

三.YARN任务流程

  1. client 发送运行任务的命令到Resource Manager
  2. Resource Manager通知Node Manager创建ApplicationMaster
  3. ApplicationMaster向Resource Manager申请资源,Resource Manager返回资源列表
  4. ApplicationMaster根据资源列表到指定的Node Manager调用资源
  5. Node Manager生成包含所需资源的Container并运行task

四.YARN的容错性

  1. Resource Manager:存在单点故障,正在基于ZooKeeper实现HA(高可用)
  2. Node Manager:失败后,RM会通知对应的AM,AM决定如何处理失败任务(一般是换个节点重启)
  3. ApplicationMaster:失败后,RM负责重启,已经完成的task不受影响

MapReduce部分

一.什么是MapReduce?

  1. 是一种并行编程模型,用于大规模数据集的并行处理
  2. 使用MapReduce架构,可以自动的完成计算任务的并行化处理(资源分配,任务划分,数据分布存储、通信、容错等都会自动处理)
  3. 最终效果是,使用MapReduce,可以自动的实现并行处理,不需要使用者关注并行计算细节

二.MapReduce的核心编程思想

  1. 切分数据和任务:对于相互之间不具有计算依赖关系的大数据,划分成多部分分别实现
  2. 使用map和reduce两个函数提供了高层的并行编程抽象模型,map用来处理数据,reduce用来整合输出
  3. 统一了计算架构,隐藏了并行处理的细节

三.MapReduce组成

  1. MAP:用来拆分据进行处理
  2. Reduce:用来对map处理后的数据整合输出
  3. shuffle:Map和Reduce中间还有一个shuffle过程用来排序,以方便Reduce接收

四.MapReduce注意点

  1. 一个任务的所有map完成后,才会进入Reduce阶段
  2. 如果map的计算量不均衡,耗时最长的map会是瓶颈

五.MapReduce实现的功能

  1. 计算任务的划分和调度
  2. 数的分布存储和划分
  3. 处理数据与计算任务的同步
  4. 结果数据的收集整理
  5. 系统通信、负载平衡、计算性能优化处理
  6. 处理系统节点出错监测和失效恢复
学习心得

我理解YARN和MapReduce最重要的就是管理的功能,而且都用到了分层,将复杂的事情划分多层,每一层都有自己的输入、处理、输出,层与层之间各自独立并通过接口进行可控的访问。
这样的设计,将复杂的问题变成了几个简单的问题,相互独立的同时又相互关联,即可以在一起合作解决问题,又各自独立不被其他部分干扰。是个非常有效的管理方式。
如果要处理的事情简单,自然完全把控效率最高。可如果事情由量变到质变,成了非常复杂的问题,以人类智力能力的有限性,没办法完全控制,漏洞百出,自然问题层出不穷。分层、代理、模块化都是类似的思想。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值