大数据IMF-L38-MapReduce内幕解密听课笔记及总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据IMF-L38-MapReduce内幕解密听课笔记及总结相关的知识,希望对你有一定的参考价值。

上午课程:6:00am

Hadoop MapReduce内幕解密:

  1. MR架构解密

  2. MR运行集群研究

  3. JAVA操作MR实战


【随课笔记】:

一:基于Yarn的MapReduce架构

1.MapReduce代码程序是基于实现Mapper和Reducer两大阶段构成的,其中Mapper是把一个计算任务分解成很多小任务进行并行计算,Reduce进行最后的统计的工作的;

2.Hadoop 2.x开始是基于Yarn运行的(1.x版本是不关心Yarn的)

Yarn是管理集群的所有资源的(如内存和CPU),ResourceManager,每个节点上安排了一上JVM进程,NodeManager,接收要求用Container方式来包裹这些资源,当RM接收到作业请求时,

技术分享

3.当ResourceManager接收到Client提交的请求的程序的时候会根据集群资源的状况在某个NodeManager所在的节点上命令NodeManager启动该程序的第一个Container,该Container就是程序的ApplicationMaster,负责程序的任务调度的执行过程,ApplicationManager转过来向ResourceManager注册自己,注册之后会向ReourceManager申请具体的Container计算资源。

技术分享


4.如何街道一个程序中的ApplicationMaster需要多少个Container呢?

  Application在启动时会运行程序的Main方法,该方法中会有数据的输入和相关的配置,通过这些内容就可以知道需要多少Container;

(container是一个单位的计算机资源,根据客户端请求的计算,集群会解析计算job,计算结果包含需要的contain资源)

Application要运行Main方法,知道分析程序有多少个分片,多少个分片对应Container,再考量其他资源,如Shuffle等再分配一些资源。


5.MapReduce运行在Yarn上的总结


主从结构

主节点,只有一个ResourceManager

控制节点,每个Job都有一个MRAppMaster

从节点,有很多个YarnChild

ResourceManager负责:

接收客户提交的计算任务

Job分给MRAppMaster执行

监控MRAppMaster的执行情况

MRAppMaster负责:

负责一个Job执行的任务调度

Job分给YarnChild执行

监控YarnChild的执行情况

YarnChild负责:

执行MRAppMaster分配的计算任务

6.Hadoop MapReduce中的 MRAppMaster,相当于Spark中的Driver,Hadoop MapReduce中的YarnChildren相当于Spark中的CoarseGrainedExecutorBackend;

(Hadoop相对于Spark资源的损耗相当多)





本文出自 “在云端” 博客,请务必保留此出处http://ymzhang.blog.51cto.com/3126300/1741452

以上是关于大数据IMF-L38-MapReduce内幕解密听课笔记及总结的主要内容,如果未能解决你的问题,请参考以下文章

Spark Executor内幕彻底解密(DT大数据梦工厂)

Spark Runtime(DriverMassterWorkerExecutor)内幕解密(DT大数据梦工厂)

Spark Sort-Based Shuffle内幕彻底解密(DT大数据梦工厂)

Spark 1.6 RPC内幕解密:运行机制源码详解Netty与Akka等(DT大数据梦工厂)

spark shuffle 内幕彻底解密课程

打通Spark系统运行内幕机制循环流程(DT大数据梦工厂)