一、MapReduce简介
- MapReduce:2004年 Google paper中提出。
- 一个用于分布式数据处理的编程模型和运行环境。适合处理各种结构化和非结构化的数据。
- HDFS(hadoop 分布式文件系统)是MapReduce的基础。
- 分布式系统的设计原则
moving computation is more cheaper than moving data。(现场办公)
-
Map
示例:我们要数图书馆中的所有的书,你数1号书架,我数2号书架。这就是“Map”。我们人越多,数书就更快。
-
Reduce
现在我们到一起,把各自统计的数报给管理员,管理员把所有人的统计数加在一起,这就是“Reduce”。
-
Hadoop生态系统架构
- MapReduce 部署视图
MR是和HDFS一样的master/slave模式的星型结构,MR的Nodemanage必须和HDFS的datanode部署在同一节点上。
- Map Reduce运行视图
MR的几个重要对象:
(1)、MR client:和用户交互,和MR集群交互。
(2)、Application:MR任务,Map算法、Reduce算法。
(3)、App config:MR任务相关配置参数。
(1)、Resourcemanage:
Resource deamon,整个MR集群的资源管理,主要是CPU、内存、网络。
Applications deamon,整个集群中MR任务(application)的调度监控,但只调度app master。