一、总体介绍:

Hadoop MapReduce是一个软件框架,可以使用可靠、容错的方式开发在多集群节点(可以是上千个节点)上并行处理大批量数据(TB级)的程序应用。

MapReduce Framework由一个 master JobTracker 和多个 slave TaskTracker(每个集群节点是一个TaskTracker) 组成。mastr负责在slaves节点调度组成作业的任务,监控,并重新执行失败的任务。Slaves节点负责执行任务。

二、输入和输出:

MapReduce的输入和输出都是 key-value对。

(input) <k1, v1> -> map -> <k2, v2> -> combine -> <k2, v2> -> reduce -> <k3, v3> (output)

key和value类都由framework来序列化,因此,它们都需要实现Writable接口。除此之外,为了完成排序功能,key类还需要实现WritableComparable接口。