云计算课程实验指导与实验报告.docx

上传人:b****1 文档编号:2323142 上传时间:2023-05-03 格式:DOCX 页数:12 大小:1.59MB
下载 相关 举报
云计算课程实验指导与实验报告.docx_第1页
第1页 / 共12页
云计算课程实验指导与实验报告.docx_第2页
第2页 / 共12页
云计算课程实验指导与实验报告.docx_第3页
第3页 / 共12页
云计算课程实验指导与实验报告.docx_第4页
第4页 / 共12页
云计算课程实验指导与实验报告.docx_第5页
第5页 / 共12页
云计算课程实验指导与实验报告.docx_第6页
第6页 / 共12页
云计算课程实验指导与实验报告.docx_第7页
第7页 / 共12页
云计算课程实验指导与实验报告.docx_第8页
第8页 / 共12页
云计算课程实验指导与实验报告.docx_第9页
第9页 / 共12页
云计算课程实验指导与实验报告.docx_第10页
第10页 / 共12页
云计算课程实验指导与实验报告.docx_第11页
第11页 / 共12页
云计算课程实验指导与实验报告.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

云计算课程实验指导与实验报告.docx

《云计算课程实验指导与实验报告.docx》由会员分享,可在线阅读,更多相关《云计算课程实验指导与实验报告.docx(12页珍藏版)》请在冰点文库上搜索。

云计算课程实验指导与实验报告.docx

云计算课程实验指导与实验报告

云计算实验报告

 

学号:

姓名:

提交日期:

成绩:

 

 

实验一

【实验内容】

一、实验目的

在Linux环境下搭建hadoop平台,掌握hadoop平台的搭建流程。

学习使用HDFS,熟悉基本操作指令,学习在hadoop平台下运行程序。

二、实验步骤

注意!

实验室使用的linux系统分为两个版本,Ubuntu12和ubuntu14

Ubutun12的用户名和密码都是haiming

Ubuntu14的用户名是wan,密码是123

Ubuntu14登陆时需要先输入用户名和密码登陆,然后用startx命令进入图形界面,熟练使用linux的同学可以不用图形界面。

打开homefolder,注意,不同版本的linux操作系统打开homefolder的图标不同。

打开其中的hadoop文件夹,其中有一个haoop-1.0.3.tar.gz的压缩包。

注意:

原路径下有一个解压后的haoop-1.0.3文件夹,大家把这个重命名(加个"_old")

右键点击压缩包,解压到本地,会生成一个hadoop-1.0.3的文件夹

说明:

hadoop是基于java环境,必须先安装jdk,本虚拟机的jdk已经安装完毕,本次实验不需要再安装。

打开其中的conf文件夹,hadoop的使用需要对其中的六个文件进行配置

1、修改hdfs-site.xml:

HDFS配置文件,该模板的属性继承于core-site.xml

2、修改mapred-site.xml:

MapReduce的配置。

3、点击图标启动一个终端,注意,不同系统启动终端的方法不同。

同时按Alt和F2,打开“运行应用程序”对话框,输入:

gnome-terminal,之后点右下角的“运行”,就打开终端工具

4、在终端中输入如下命令进行格式化,格式化后会在tmp文件夹中生成目录结构

5、格式化之后输入如下命令来启动hadoop,为简便起见,本次实验略过了ssh安装的过程,因此在启动过程中可能需要输入密码,大家输入登陆密码即可。

6、例子中的wordcount程序,以hdfs中input为输入,建立一个文件夹output为输出,运行中可以通过上边提到的网页观察程序运行进度,也可以从终端观察。

 

三、实验结果

 

实验二

一、实验内容

在Eclipse环境下编写一个mapreduce程序,掌握mapredcue编程框架

将Mapreduce程序打包,在hadoop环境下运行程序并观察结果

二、实验步骤

使用eclipse新建一个javaproject

将hadoop-1.0.3.tar.gz解压

在工程名上点右键,选择buildpathàaddexternalarchives

选择刚才解压的hadoop目录下的如下jar包

在src上点击右键,选择newàclass,新建类Wordcount

加入如下代码

importjava.io.IOException;

importjava.util.StringTokenizer;

importorg.apache.hadoop.conf.Configuration;

importorg.apache.hadoop.fs.Path;

importorg.apache.hadoop.io.IntWritable;

importorg.apache.hadoop.io.Text;

importorg.apache.hadoop.mapreduce.Job;

importorg.apache.hadoop.mapreduce.Mapper;

importorg.apache.hadoop.mapreduce.Reducer;

importorg.apache.hadoop.mapreduce.lib.input.FileInputFormat;

importorg.apache.hadoop.mapreduce.lib.output.FileOutputFormat;

importorg.apache.hadoop.util.GenericOptionsParser;

publicclassWordcount{

publicstaticclassTokenizerMapperextends

Mapper{

privatefinalstaticIntWritableone=newIntWritable

(1);

privateTextword=newText();

publicvoidmap(Objectkey,Textvalue,Contextcontext)

throwsIOException,InterruptedException{

//构造一个用来解析str的StringTokenizer对象。

java默认的分隔符是“空格”、“制表符(‘\t’)”、“换行符(‘\n’)”、“回车符(‘\r’)”。

StringTokenizeritr=newStringTokenizer(value.toString());

//hasMoreTokens()返回是否还有分隔符

while(itr.hasMoreTokens()){

//返回从当前位置到下一个分隔符的字符串

word.set(itr.nextToken());

context.write(word,one);

}

}

}

publicstaticclassIntSumReducerextends

Reducer{

privateIntWritableresult=newIntWritable();

publicvoidreduce(Textkey,Iterablevalues,

Contextcontext)throwsIOException,InterruptedException{

intsum=0;

for(IntWritableval:

values){

sum+=val.get();

}

result.set(sum);

context.write(key,result);

}

}

publicstaticvoidmain(String[]args)throwsException{

Configurationconf=newConfiguration();

if(args.length!

=2){

System.err.println("Usage:

wordcount");

System.exit

(2);

}

//Job的初始化

Jobjob=newJob(conf,"wordcount");

job.setJarByClass(Wordcount.class);

//然置Job处理的Map(拆分)、Combiner(中间结果合并)以及Reduce(合并)的相关处理类

job.setMapperClass(TokenizerMapper.class);

job.setCombinerClass(IntSumReducer.class);

job.setReducerClass(IntSumReducer.class);

//设置Job输出结果的中key和value数据类型

job.setOutputKeyClass(Text.class);

job.setOutputValueClass(IntWritable.class);

//调用setInputPath()和setOutputPath()设置输入输出路径

FileInputFormat.addInputPath(job,newPath(args[0]));

FileOutputFormat.setOutputPath(job,newPath(args[1]));

System.exit(job.waitForCompletion(true)?

0:

1);

}

}

 

最后得到一个jar包,将该jar包复制到linux中hadoop1.0.3的文件夹中(与实验1用到的hadoop-examples-1.0.3.jar路径相同)使用和实验1相同的命令运行自定义的jar包MapReduce简介

本程序数据处理过程

三、实验结果

 

 

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2