MapReduce的集群行为
MapReduce的集群行为包括:
1、任务调度与执行
MapReduce任务由一个JobTracker和多个TaskTracker两类节点控制完成。
(1)JobTracker节点
(2)TaskTracker节点
(3)JobTracker节点和TaskTracker节点之间的关系
2、本地计算
3、Shuffle洗牌过程
4、合并Mapper输出
5、读取中间结果
6、任务管道
Map/Reduce框架
Hadoop Map/Reduce是一个使用简易的软件框架,基于它写出来应用程序能够运行在由上千个商用机器组成的大型集群上,
并以一种可靠容错方式并行处理上TB级别的数据集。
一个Map/Reduce作业(job)通常会把输入的数据集切分为若干独立的数据块,由Map任务(task)以完全并行的方式处理它们。
框架会对Map的输出先进性排序,然后把结果输入给Reduce任务。
通常作业的输入和输出都会被存储在文件系统中。
整个框架负责任务的调度和监控,以及重新执行已经失败的任务。
通常,Map/Reduce框架和分布式文件系统是运行在一组相同的节点上的,也就是说,计算节点和存储节点通常在一起。
这种配置允许框架在那些已经存好数据的节点上高效地调度任务,这可以使得整个集群的网络带宽被非常高效的利用。
MapReduce框架的组成
Map/Reduce的输入输出