MapReduce分布式计算框架

Hadoop组成:
Hadoop HDFS:一个高可靠、高吞吐量的分布式文件系统,对海量数据的存储。
Hadoop MapReduce:一个分布式的资源调度和离线并行计算框架。
Hadoop Yarn:基于HDFS,用于作业调度和集群资源管理的框架。
分布式计算框架MapReduce:

#1.什么是计算框架:

计算框架就是指某项任务或者某项工作从开始到结束的计算过程或流的结构,用于解决或者处理某个复杂的计算问题
MapReduce分布式计算框架
#2.什么是并行计算框架:
是指为更快的计算或者某项工作,将计算程序分发到多台服务器上,使每个服务器计算总任务的一部分,多台服务器同时计算的框架
MapReduce分布式计算框架
MapReduce的核心思想是:“分而治之,先分后合”,就是一个分布式运算程序的编程框架,核心功能就是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序。

Map Reduce中的Map他的作用就是负责数据的拆分
Reduce负责数据的合并。

下面是我简单画的图,可以方便的理解MapReduce 的大致处理流程
MapReduce分布式计算框架
Map和Reduce为程序员提供了一个清晰的操作接口抽象描述。通过以上两个编程接口,大家可以看出MapReduce处理的数据类型是<key,value>键值对。
 统一构架,隐藏系统层细节
如何提供统一的计算框架,如果没有统一封装底层细节,那么程序员则需要考虑诸如数据存储、划分、分发、结果收集、错误恢复等诸多细节;为此,MapReduce设计并提供了统一的计算框架,为程序员隐藏了绝大多数系统层面的处理细节。
MapReduce最大的亮点在于通过抽象模型和计算框架把需要做什么(what need to do)与具体怎么做(how to do)分开了,为程序员提供一个抽象和高层的编程接口和框架。程序员仅需要关心其应用层的具体计算问题,仅需编写少量的处理应用本身计算问题的程序代码。如何具体完成这个并行计算任务所相关的诸多系统层细节被隐藏起来,交给计算框架去处理:从分布代码的执行,到大到数千小到单个节点集群的自动调度使用