mit6.824:MapReduce系统
最近决定开始学习mit6.824 Distributed Systems课程,主要包括阅读论文,课堂笔记和完成project,内容均在mit6.824 课程主页上找到。第一部分是经典的MapReduce系统设计,通读MapReduce论文,在此总结记录个人认为MapReduce设计的要点。
- MapReduce执行流程
- Fault Tolerance(容错机制)
- MapReduce 系统优化
MapReduce执行流程
MapReduce包括Map和Reduce两部分,具体的执行流程如下图(from MapReduce osdi04)所示。MapReduce运行于由大量PC或者server组成的Google File System (GFS)集群上。集群中的节点分为Master和Worker两种。
当User Program向Master节点提交一个任务后,Master节点会向M个Worker节点分发任务信息,每个worker节点会从GFS读取相应的文件,并调用相应的map函数执行,在map任务都执行完毕后,进入Reduce阶段。Master节点向worker节点分配Reduce任