基于香港服务器Hadoop的MapReduce框架结构
针对香港服务器这种性能比较高端的服务器,又安装了开源的Linux操作系统(Ubuntu14.04)。如此优越的服务器和开源的操作系统,我们是不是得做点实验来体现它的价值所在。最近比较热门、比较流行的就是大数据、云计算、机器学习和人工智能。下小
编给大家讲一下基于香港服务器下的Ubuntu14.04环境下的Hadoop架构中的MapReduce框架结构。
在早期对大规模数据进行处理时,通常将多台服务器进行并行操作,通常是将一些耦合度较低的作业分布到不同的服务器中进行不同的处理,随着数据量的增多,计算机并行处理的方式已经不能满足对文件系统的处理要求,因此分布式计算产生。Hadoop的计算主要是通过MapReduce完成的,MapReduce有两个相互独立的部分:Map过程,在Map过程中进行数据的读取和预处理和Reduce过程中将预处理的数据进行合并。这样做的好处是可以对分布在各个节点内的数据使用在分布式集群中的服务器进行处理,得到所需结果。
MapReduce框架分析:
Map任务执行过程:
(1)Map读取Split内容后,对其解析成键值的形式进行运算,并将Map算法应用到每一条内容中。
(2)Map定义的算法处理完Split中的内容后,Map向TaskTracker报告,通知JobTracker任务执行完毕,再接受新任务。处理每个Split文件的时间要小于直接处理整个文件的时间,整个Map处理的速度是由集群中所有运行的Map任务的节点中的服务器中运行Split速度最慢的决定的,大多数Split一般设置成64M。
通常一个MapReduce任务有大多数的Map任务,只有少数的Reduce任务。用来接收并处理所有Map任务所发送出来的输出。通过网络连接的方式将Map的任务结果报送给Reduce节点。然后将所有的输出结果在Reduce端合并。
一次Reduce任务会分成三个阶段:
(1)Reduce获取Map输入的预处理结果。
(2)将拥有的相同键值的数据进行分组处理
(3)Reduce将用户定义的Reduce算法应用到每个键值对确定的列表中。
在这个过程中,JobTracker会调整整个MapReduce程序的执行。
Reduce首先回想TaskTracker发送请求来获取Map的任务数据,TaskTracker会想JobTRacker请求查询地址,JobTracker将执行Map任务的输出结果给TaskTracker。
在接收到Map所有的输出的数据后,Reduce将进入分组和排序阶段。每个Map的结果已经按照键的大小进行排列。Reduce将键值的同一性对结果进行合并,成为一个键值对应多个值的一系列数据记录。然后对排列数据结果进行处理。
本次讲解就到这里,相信小编已经给大家对于Hadoop的MapReduce框架结构做了一些正确合理的普及,大家现在应该理解Hadoop的MapReduce框架是如何部署的了,喜欢动手的朋友可以安装上述步骤自行安装一遍进行MapReduce框架研究(上述操作本人都亲自过)。
希望大家踊跃的购买我们公司的香港服务器,更好的进行hadoop相关的研究和实战。
如果还有什么不明确或者不懂的地方,欢迎来到新世界主机咨询了解,详情请咨询Skpey咨询:vpssj.net@hotmail.com, 。我们必将竭诚为您服务。