MapReduce实现了分布式计算
Hadoop的MapReduce是对google三大论文的MapReduce的开源实现,实际上是一种编程模型,是一个分布式的计算框架,用于处理海量数据的运算,由JAVA实现
HDFS(分布式存储)
NameNode
DataNode
MapReduce(分布式计算)
ResourceManger
NodeManager
MapReduce原理图
MapReduce角色及概念
JobTracker
-Master节点只有一个
-管理所有作业任务的监控、错误处理等
-将任务分解成一系列任务,并分派给TaskTracker
TaskTracker
-Slave节点,一般是多台
-运行MapTask和Reduce Task
-并与JobTracker交互,汇报任务状态
Map Task
-解析每条数据记录,传递给用户编写的map()并执行,将结果输出
Reducer Task
-从Map Task的执行结果中,远程读取输入数据,对数据进行排序将数据按照分组传递给用户编写的reduce函数执行