云计算实验报告3.docx

云计算实验报告3.docx

ID:52614664

大小:66.86 KB

页数:8页

时间:2020-03-29

云计算实验报告3.docx_第1页
云计算实验报告3.docx_第2页
云计算实验报告3.docx_第3页
云计算实验报告3.docx_第4页
云计算实验报告3.docx_第5页
资源描述:

《云计算实验报告3.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验报告课程:______________云计算________________________实验题目:_______HDFS下的MapReduce编程应用_专业:___________软件工程_________________________姓名:___________王磊_____________________________学号:___________B1040914_________________________(1)书写MapReduce的原理以及执行过程  1.MapReduce库先把userprogram的输入文件划分为M份(M为用户定义),每一份通常有16MB到

2、64MB,如图左方所示分成了split0~4;然后使用fork将用户进程拷贝到集群内其它机器上。 2.userprogram的副本中有一个称为master,其余称为worker,master是负责调度的,为空闲worker分配作业(Map作业或者Reduce作业),worker的数量也是可以由用户指定的。  3.被分配了Map作业的worker,开始读取对应分片的输入数据,Map作业数量是由M决定的,和split一一对应;Map作业从输入数据中抽取出键值对,每一个键值对都作为参数传递给map函数,map函数产生的中间键值对被缓存在内存中。   4.缓存的中间键值对会被定期写入本地磁盘

3、,而且被分为R个区,R的大小是由用户定义的,将来每个区会对应一个Reduce作业;这些中间键值对的位置会被通报给master,master负责将信息转发给Reduceworker。   5.master通知分配了Reduce作业的worker它负责的分区在什么位置(肯定不止一个地方,每个Map作业产生的中间键值对都可能映射到所有R个不同分区),当Reduceworker把所有它负责的中间键值对都读过来后,先对它们进行排序,使得相同键的键值对聚集在一起。因为不同的键可能会映射到同一个分区也就是同一个Reduce作业(谁让分区少呢),所以排序是必须的。   6.reduceworker遍

4、历排序后的中间键值对,对于每个唯一的键,都将键与关联的值传递给reduce函数,reduce函数产生的输出会添加到这个分区的输出文件中。  6.当所有的Map和Reduce作业都完成了,master唤醒正版的userprogram,MapReduce函数调用返回userprogram的代码。(2)MapReduce程序不同的提交方式;1、用命令行方式提交2、在eclipse中提交作业3、采用eclipse的插件实现项目的提交这三种方式中在eclipse中提交的过程:前提是:1、在你的电脑上安装好eclipse,可以在linux下,也可以在windows环境下哦~,这里需要指出的是:提

5、交作业的机器只要有hadoop的API就可以了,和提交作业的机器所处的环境无关。2、成功搭建一个hadoop集群,或成功部署一个伪分布式,并启动hadoop。代码段截图如下:这时候程序只会在eclipse中虚拟的一个云环境中运行,而不会跑上云端去运行.需要在main方法中添加几行代码,代码附录如下:方案三:采用eclipse的插件实现项目的提交前提:在eclipse中成功地安装mapreduce插件。不过需要提醒各位的是:hadoop-0.20.203.0版本自带的插件不够完整,需要作出如下修改:1、将HADOOP_HOME/lib目录下的commons-configuration-

6、1.6.jar,commons-httpclient-3.0.1.jar,commons-lang-2.4.jar,jackson-core-asl-1.0.1.jar和jackson-mapper-asl-1.0.1.jar等5个包复制到hadoop-eclipse-plugin-0.20.203.0.jar的lib目录下。2、然后,修改该包META-INF目录下的MANIFEST.MF,将classpath修改为以下内容:(3)基于MapReduce编程模型实现的对文件数据排序importorg.apache.hadoop.conf.Configuration;importorg

7、.apache.hadoop.fs.Path;importorg.apache.hadoop.io.IntWritable;importorg.apache.hadoop.io.Text;importorg.apache.hadoop.mapreduce.Job;importorg.apache.hadoop.mapreduce.lib.input.FileInputFormat;importorg.apache.hadoop.mapreduce.lib.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。