收藏 分销(赏)

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

上传人:w****g 文档编号:9320424 上传时间:2025-03-21 格式:DOC 页数:12 大小:4.74MB
下载 相关 举报
云计算课程实验指导与实验报告.doc_第1页
第1页 / 共12页
云计算课程实验指导与实验报告.doc_第2页
第2页 / 共12页
点击查看更多>>
资源描述
云计算试验汇报 学 号: 姓 名: 提交日期: 成 绩: 试验一 【试验内容】 一、试验目的 在Linux环境下搭建hadoop平台, 掌握hadoop平台的搭建流程。 学习使用HDFS, 熟悉基本操作指令,学习在hadoop平台下运行程序。 二、试验环节 注意!试验室使用的linux系统分为两个版本,Ubuntu12和ubuntu14 Ubutun12的顾客名和密码都是haiming Ubuntu14的顾客名是wan,密码是123 Ubuntu14登陆时需要先输入顾客名和密码登陆,然后用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已经安装完毕,本次试验不需要再安装。 打开其中的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新建一种java project 将hadoop-1.0.3.tar.gz解压 在工程名上点右键,选择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.io.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.FileOutputFormat; import org.apache.hadoop.util.GenericOptionsParser; public class Wordcount { public static class TokenizerMapper extends Mapper<Object, Text, Text, IntWritable> { private final static IntWritable one = new IntWritable(1); private Text word = new Text(); public void map(Object key, Text value, Context context) throws IOException, InterruptedException { //构造一种用来解析str的StringTokenizer对象。java默认的分隔符是“空格”、“制表符(‘\t’)”、“换行符(‘\n’)”、“回车符(‘\r’)”。 StringTokenizer itr = new StringTokenizer(value.toString()); //hasMoreTokens()返回与否尚有分隔符 while (itr.hasMoreTokens()) { //返回从目前位置到下一种分隔符的字符串 word.set(itr.nextToken()); context.write(word, one); } } } public static class IntSumReducer extends Reducer<Text, IntWritable, Text, IntWritable> { private IntWritable result = new IntWritable(); public void reduce(Text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException { int sum = 0; for (IntWritable val : values) { sum += val.get(); } result.set(sum); context.write(key, result); } } public static void main(String[] args) throws Exception { Configuration conf = new Configuration(); if (args.length != 2) { System.err.println("Usage: wordcount <in> <out>"); System.exit(2); } //Job的初始化 Job job = new Job(conf, "word count"); job.setJarByClass(Wordcount.class); //然置Job处理的Map(拆分)、Combiner(中间成果合并)以及Reduce(合并)的有关处理类 job.setMapperClass(TokenizerMapper.class); job.setCombinerClass(IntSumReducer.class); job.setReducerClass(IntSumReducer.class); //设置Job输出成果<key,value>的中key和value数据类型 job.setOutputKeyClass(Text.class); job.setOutputValueClass(IntWritable.class); //调用setInputPath()和setOutputPath()设置输入输出途径 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简介 本程序数据处理过程 三、试验成果
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 通信科技 > 云计算

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服