看懂这图先来理解一下,里面的几个名词:
job 代表啥:在Hadoop中,每个MapReduce任务都被初始化为一个job,每个job又可分为两个阶段:map阶段和reduce阶段。这两个阶段分别用两个函数来表示。Map函数接收一个<key,value>形式的输入,然后同样产生一个<key,value>形式的中间输出,Hadoop会负责将所有具有相同中间key值的value集合在一起传递给reduce函数,reduce函数接收一个如<key,(list of values)>形式的输入,然后对这个value集合进行处理,每个reduce产生0或1个输出,reduce的输出也是<key,value>形式。
总的来说:job就是运行的一个过程,这个过程是怎么运行,就是由自己定义
ResourceManeger:属于yarn的资源调度器中的一个,负责管理调度nodemaneger
Hdfs的产生背景:随着数据量越来越大,在一个电脑存不下所有的数据,那么如果有500T的数据,那么就需要很多台电脑才能装得下,那么这些数据你知道具体哪台电脑都存了那些数据吗,为了方便管理和维护,迫切需要一种系统来管理多台电脑上的文件,这就是分布式文件管理系统,hdfs只是分布式文件管理丝毫中的一种。Hdfs,它是一个文件系统,用来存储文件,通过目录树来定位文件,其次,它是分布式的,由很多服务器合起来实现其功能。
1)MrAppMaster :负责整个程序的过程调度及状态协调。(准备内存和cpu等,是job的老大,负责开启 MapTask,ReduceTask)
2 ) MapTask :负责Map阶段的整个数据处理流程。(负责分)
3 ) ReduceTask :负责Reduce阶段的整个数据处理流程。(负责合计)
Nodemaneger:负责任务调度,启动MrAppMaster,Nodemaneger可以理解为一个索引,客户端通过访问它,它返回一个客户端想要查的内容一个存放位置然后根据这位置去datanode里,就可以找到你想要的内容了
mr工作流程
最新推荐文章于 2022-08-15 21:39:10 发布