(5)  (可选)分组后的数据进行归约Combiner。

第二步:reduce任务处理

(1) 对多个map任务的输出,按照不同的分区,通过网络copy到不同的reduce节点。一个parttition输出到一个reducer,不同parttion输出到不同reducer

(2) 对多个map任务的输出进行合并、排序。写reduce函数自己的逻辑,对输入的key、value处理,转换成新的key、value输出。

(3) 把reduce的输出保存到文件中。

图2.3中所对应的blick就是HDFS上面的块文件,在hadoop2版本默认设置128MB为一个块,默认一个切片split对应一个块block,但是,切片大小也可以自己设置,根据hadoop的MapReduce源码可以看出来,决定切片split大小是有FileInputFormat类中的long splitSize=computeSplitSize (blockSize,minSize,maxSize)有三个参数决定,其中blockSize=134217728字节=128M,maxSize =2的63次幂-1;computeSplitSzie方法return Max.max(miniSize,Max.min(maxSize,blocSize)); minSize=1,maxSize<blockSize,所以,默认splitSize=128Mb。尽量使用默认大小128M,一个block对应一个split对应一个map,可以避免不同datanode之间的网络传递。一个切片split对应一个map,所以只要知道有多少个切片split就知道启用多少个map。

上文中已经详细介绍了HDFS存储机制和MapReduce程序详细的执行过程,下文进行详细介绍一个hadoop程序如何进行完整的计算。从读取数据到MapReduce计算到输出数据。整个hadoop程序计算流程如下。

(1).客户端提交一个mr的jar包给JobClient(提交方式:hadoop jar ...)

(2).JobClient通过RPC和JobTracker进行通信,返回一个存放jar包的地址(HDFS)和jobId

(3).client将jar包写入到HDFS当中(path = HDFS上的地址 + jobId)

(4).开始提交任务(任务的描述信息,不是jar, 包括jobid,jar存放的位置,配置信息等等)

(5).JobTracker进行初始化任务

(6).根据任务的输入信息读取HDFS上的要处理的文件,计算文件处理的分块,然后分配MapperTask的大小。

(7).TaskTracker通过心跳机制领取任务(任务的描述信息)

(8).下载所需的jar,配置文件等

(9).TaskTracker启动一个java child子进程,用来执行具体的任务( MapperTask或ReducerTask)

(10).将结果写入到HDFS当中

 

图2.2 MapReduce的工作流程

 

图2.3 MapReduce执行任务流程图

2.3 高可用HADOOP集群搭建及优化

本节首先将对将Hadoop云平台的软硬件信息进行详细介绍,然后将对Hadoop集群的搭建和优化过程进行详细分析和测试,从最底层的Linux到Hadoop的监控界面的搭建详细研究,并在最后搭建一个完全分布式、高可靠性的Hadoop集群。

2.3.1 集群整体架构设计

本小节将详细介绍hadoop集群的搭建,首先将概况讲解本文hadoop集群的软件信息,接着讲解详细的集群搭建过程。设定整个hadoop集群软件配置如下表2.1所示。

Hadoop搭建环境要求是Linux,本文选用CentOS6.6版本;JDK选用jdk1.75版本,apache-hadoop版本选用cloudera稳定版本hadoop-2.5.0-cdh5.3.6,zookeeper使用zookeeper-3.4.5-cdh5.3.6版本呢,以上均使用稳定版本的。

表2.1 系统开发组件及软件信息表

 

开发平台 CentOS6.6

集成开发环境 JDK 1.7

软件开发工具 MyEclipes

Hadoop版本 hadoop-2.5.0-cdh5.3.6

协调服务zookeeper

上一篇:java+mysql网上图书销售系统的设计与实现
下一篇:asp.net培训中心考试系统开发与建设

基于Apriori算法的电影推荐

PHP+IOS的会议管理系统的设计+ER图

数据挖掘在电子商务中的应用

数据挖掘的主题标绘数据获取技术与实现

基于PageRank算法的网络数据分析

基于神经网络的验证码识别算法

基于网络的通用试题库系...

我国风险投资的发展现状问题及对策分析

老年2型糖尿病患者运动疗...

LiMn1-xFexPO4正极材料合成及充放电性能研究

互联网教育”变革路径研究进展【7972字】

网络语言“XX体”研究

ASP.net+sqlserver企业设备管理系统设计与开发

新課改下小學语文洧效阅...

安康汉江网讯

张洁小说《无字》中的女性意识

麦秸秆还田和沼液灌溉对...