MapReduce_架构
MapReduce1.x
-
JobTracker:JT(作业管理者)
-
将作业分解成一堆的任务:Task(MapTask和ReduceTask)
-
将任务分派给TaskTracker运行
-
作业的监控、容错处理(Task作业挂了,重启task的机制)
-
在一定的时间间隔内,JT没有收到TT的心跳信息,TT可能是挂了,T'T上运行的任务会被指派到其他TT上去执行
-
-
TaskTracker:TT(任务的执行者)
-
在TT上执行Task(MapTask和ReduceTask)
-
与JT进行交互:执行/启动/停止作业,发送心跳信息给JT
-
-
MapTask
-
自己开发的map任务交由该Task处理
-
解析每条记录的数据,交给自己的map方法处理
-
将map输出结果写到本地磁盘(有些作业只仅由map没有reduce==》hdfs)
-
-
ReduceTask
-
将Maptask输出的数据进行读取
-
按照数据进行分组传给我们自己编写的reduce方法处理
-
输出结果写到HDFS
-
MapReduce2.x