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