1、 云计算试验汇报 学 号: 姓 名: 提交日期: 成 绩: 试验一 【试验内容】 一、试验目的 在Linux环境下搭建hadoop平台, 掌握hadoop平台的搭建流程。 学习使用HDFS, 熟悉基本操作指令,学习在hadoop平台下运行程序。 二、试验环节 注意!试验室使用的linux系统分为两个版本,Ubuntu12和ubuntu14 Ubutun12的顾客名和密码都是haiming Ubuntu14的顾客名是wan,密码是123 Ubuntu14登陆时需要先输
2、入顾客名和密码登陆,然后用startx命令进入图形界面,纯熟使用linux的同学可以不用图形界面。 打开home folder,注意,不一样版本的linux操作系统打开home folder的图标不一样。 打开其中的hadoop文献夹,其中有一种haoop-1.0.3.tar.gz的压缩包。 注意:原途径下有一种解压后的haoop-1.0.3文献夹,大家把这个重命名(加个"_old") 右键点击压缩包,解压到当地,会生成一种hadoop-1.0.3的文献夹 阐明:hadoop是基于java环境,必须先安装jdk,本虚拟机的jdk已经安装完毕,本次试验不需要再安装。 打开其中的con
3、f文献夹,hadoop的使用需要对其中的六个文献进行配置 1、修改hdfs-site.xml:HDFS配置文献,该模板的属性继承于core-site.xml 2、修改mapred-site.xml:MapReduce的配置。 3、点击图标启动一种终端,注意,不一样系统启动终端的措施不一样。 同步按Alt 和 F2,打开 “运行应用程序”对话框,输入:gnome-terminal,之后点右下角的“运行”,就打开终端工具 4、在终端中输入如下命令进行格式化,格式化后会在tmp文献夹中生成目录构造 5、格式化之后输入如下命令来启动hadoop,为简便起见,本次试验略过了ssh安装的过
4、程,因此在启动过程中也许需要输入密码,大家输入登陆密码即可。 6、例子中的wordcount程序,以hdfs中input为输入,建立一种文献夹output为输出,运行中可以通过上边提到的网页观测程序运行进度,也可以从终端观测。 三、试验成果 试验二 一、试验内容 在Eclipse环境下编写一种mapreduce程序,掌握mapredcue编程框架 将Mapreduce程序打包,在hadoop环境下运行程序并观测成果 二、试验环节 使用eclipse新建一种java project 将hadoop-1.0.3.tar.gz
5、解压 在工程名上点右键,选择build pathàadd external archives 选择刚刚解压的hadoop目录下的如下jar包 在src上点击右键,选择new àclass,新建类Wordcount 加入如下代码 import java.io.IOException; import java.util.StringTokenizer; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.i
6、o.IntWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Job; import org.apache.hadoop.mapreduce.Mapper; import org.apache.hadoop.mapreduce.Reducer; import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; import org.apache.hadoop.mapreduce.lib.output.FileOutput
7、Format; import org.apache.hadoop.util.GenericOptionsParser; public class Wordcount { public static class TokenizerMapper extends Mapper
8、ap(Object key, Text value, Context context) throws IOException, InterruptedException { //构造一种用来解析str的StringTokenizer对象。java默认的分隔符是“空格”、“制表符(‘\t’)”、“换行符(‘\n’)”、“回车符(‘\r’)”。 StringTokenizer itr = new StringTokenizer(value.toString()); //hasMoreTokens()返回与否尚有分隔符 while (itr.hasMoreT
9、okens()) {
//返回从目前位置到下一种分隔符的字符串
word.set(itr.nextToken());
context.write(word, one);
}
}
}
public static class IntSumReducer extends
Reducer
10、erable
11、
Configuration conf = new Configuration();
if (args.length != 2) {
System.err.println("Usage: wordcount
12、关处理类
job.setMapperClass(TokenizerMapper.class);
job.setCombinerClass(IntSumReducer.class);
job.setReducerClass(IntSumReducer.class);
//设置Job输出成果
13、ath()设置输入输出途径 FileInputFormat.addInputPath(job, new Path(args[0])); FileOutputFormat.setOutputPath(job, new Path(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简介 本程序数据处理过程 三、试验成果
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818