MapReduce设计思想及原理
mapreduce:一是软件框架,二是并行处理,三是可靠且容错,四是大规模集群,五是海量数据集
参考
参考:https://www.cnblogs.com/riordon/p/4605022.html
设计思想:分而治之,
mapper 负责分,分,将任务分为多个简单任务,简单任务就是1、相对于原任务要大大缩小,2、就近原则,相比移动数据,移动计算成本要低,计算会在数据就近的节点计算,3、任务可以并行。
Reducer负责对map阶段的结果进行汇总,至于需要多少个Reducer,用户可以根据具体问题,通过在mapred-site.xml配置文件里设置参数mapred.reduce.tasks的值,缺省值为1
MRv1工作流程:
1、打包程序,运行,
2、向jobtracker获取一个job id
3、JobClient得到Job ID后,将运行Job所需要的资源拷贝到共享文件系统HDFS中
4、资源准备完备后,JobClient向JobTracker提交Job。
5、jobtracker初始化job
6、初始化完成后,JobTracker从HDFS中获取输入splits(作业可以该启动多少Mapper任务)。
7、与此同时,TaskTracker不断地向JobTracker汇报心跳信息,并且