下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

云计算必学知识,MapReduce工作原理讲解

作者:课课家教育     来源: http://www.kokojia.com点击数:1251发布时间: 2017-01-10 09:30:51

标签: 云计算MapReduce云平台

  在未来,当管理员搭建服务器的时候,他或者她很可能会给服务器堆栈、数据库、中间件软件装上MapReduce,根据国外认证报道显示MapReduce可以在服务器上直接被用来分析日志数据,并不需要是在各个集群上单独分析,也可以大幅缩短分析数据的时间,本文将是跟大家进行MapReduce工作原理讲解,有在学习的朋友们可以参考学习一下。

  第一部分:首先我们来看看MapReduce工作原理是怎样的,掌握了解之后将会是对MapReduce更加理解。

云计算必学知识,MapReduce工作原理讲解_云计算_MapReduce_云平台_课课家

  MapReduce角色

  •Client:作业提交发起者。

  •JobTracker:初始化作业,分配作业,并且是与TaskTracker通信,最后是协调整个作业。

  •TaskTracker:保持JobTracker通信,在分配的数据片段上执行MapReduce任务。

折行图

  提交作业

  •在作业提交之前,是需要对作业进行配置

  •程序代码,主要是自己书写的MapReduce程序。

  •输入输出路径

  •其他配置,比如输出压缩等这些

  •当配置完成后,可以是通过JobCliNET来进行最后的一个提交

  作业的一个初始化

  •当客户端提交完成后,JobTracker它就会将作业加入到队列里面,然后是进行调度,它的默认的调度方法是FIFO调试方式。

  任务的分配

  •需要知道TaskTracker和JobTracker它们之间的通信与任务的分配它是通过心跳机制完成的。

  •有趣的是TaskTracker它是会主动向JobTracker询问是否是有作业是需要完成的,若自己是可以做的,则就会申请到作业任务,这个任务可以使Map也可能是Reduce任务。

  任务的一个执行过程

  •当申请到任务后,TaskTracker它就会做如下事情:

  (1)需要是拷贝代码到本地

  (2)拷贝任务的信息到本地

  (3)启动JVM运行任务

  状态与任务的更新

  •任务在运行过程中,它是首先会将自己的状态汇报给TaskTracker,然后由TaskTracker汇总告之JobTracker。

  •需要知道的是任务的一个进度是通过计数器来实现的。

  最后是作业的完成

  •JobTracker它是在接受到最后一个任务运行完成后,它才会将任务标志为成功。

  •这个时候会做删除中间结果等善后处理工作。

  总的来说,需要了解的是MapReduce是一种编程的模型,并且是用于大规模数据集(大于1TB)的并行运算。从基本的概念“Map(映射)”和“Reduce(化简)”和他们的主要思想,这些都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。可以方便编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。

赞(22)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程