MapReduce原理
分而治之,一个大任务分成多个小的子任务(map),并行执行后,合并结果(reduce)。
MapReduce运行流程
基本概念
- Job & Task
一个Job分成多个Task- MapTask
- ReduceTask
- JobTracker
- 作业调度
- 分配任务、监控任务执行进度
- 监控TskTracker的状态
- TaskTracker
- 执行任务
- 汇报任务状态
部署时TaskTracker一般和HDFS中的DataNode放一起
MapReduce的容错机制
处理TaskTracker在执行过程中可能发生的宕机、故障。
- 重复执行,默认4次仍失败,则放弃
- 推测执行,如果某一个TaskTracker速度很慢,则另开一个TaskTracker与它执行相同的任务,谁先执行完,使用谁的数据。