您好,欢迎访问三七文档
-1-昆明理工大学信息工程与自动化学院学生实验报告(2012—2013学年第2学期)课程名称:Web服务与分布式计算开课实验室:信自楼4442013年5月23日年级、专业、班计科10级学号201010405111姓名王伟成绩实验项目名称hadoop编程指导教师游进国教师评语该同学是否了解实验原理:A.了解□B.基本了解□C.不了解□该同学的实验能力:A.强□B.中等□C.差□该同学的实验是否达到要求:A.达到□B.基本达到□C.未达到□实验报告是否规范:A.规范□B.基本规范□C.不规范□实验过程是否详细记录:A.详细□B.一般□C.没有□教师签名:年月日一、上机目的及内容目的:1.理解mapreduce技术;2.掌握mapreduce的工作原理以及应用方法;3.掌握hadoop编程的基本方法及其相关工具的使用。内容:1.使用hadoop以及Eclipse平台,学习如何编写简单mapreduce程序;2.运行mapreduce词频统计程序,实现本机上调用虚拟机上的词频统计程序或实现相互之间的调用。要求:利用实验室和指导教师提供的实验软件,认真完成规定的实验项目,真实地记录实验中遇到的各种问题和解决的方法与过程,并给出相应截图。实验完成后,应根据实验情况写出实验报告。二、实验原理及基本技术路线图(方框原理图或程序流程图)Hadoop是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(HadoopDistributedFileSystem),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(highthroughput)来访问应用程序的数据,适合那些有着超大数据集(largedataset)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streamingaccess)文件系统中的数据。-2-Mapredune工作原理-3-三、所用仪器、材料(设备名称、型号、规格等或使用软件)1台PC、JDK1.7.0、Eclipse4.2.0,linux虚拟机四、实验方法、步骤(或:程序代码或操作过程)一、eclipse链接vm中的hadoop环境1、hadoop-elcipse插件安装将对应版本hadoop-eclipse-plugin-***.jar方至eclipse安装目录的子目录plugins下2.修改VM系统中hadoop相关配置文件1)进入hadoop安装目录,命令:cd/usr/local/hadoop2)通过文本编辑器修改core-site.xml文件,命令:sudogeditconf/core-site.xml此时要求输入用户的密码:本系统已设置为:123456输入正确密码后弹出编辑器,将fs.default.name的配置值中的’hffs://localhost:9000’改为’hffs://自己机器的ip值:9000’-4-如下图所示:附:查找本机ip的方法,命令ifconfig注意:实验室环境下有可能通过改命令不显示ip,这时需要修改vm的网络连接方式,将网络方式修改为NAT-5-3)通过文本编辑器修改mapred-site.xml文件,命令:sudogeditconf/mapred-site.xml弹出编辑器后,将mapred.job.tracker的配置值中的’localhost:9001’改为’自己机器的ip值:9001’如下图所示3)切换hadoop用户,并启动hadoop命令1:suhadoop命令2:bin/start-all.sh-6-3.hadoop插件相关参数的设置及相关使用1)打开Map/ReduceLocations视窗找到Map/ReduceLocations-7-2).创建一个新的HadoopLocation,在视窗空白处右击,点击NewHadoopLocation3).进入参数设置页面其中该页面有两个选项卡‘General’‘Advancedparameters’参数说明如下:Locationname:任意map/reducemaster:与mapred-site.xml里面mapred.job.tracker设置一致。DFSmaster:与core-site.xml里fs.default.name设置一致。Username:服务器上运行hadoop服务的用户名。然后是打开“Advancedparameters”设置面板,修改相应参数。上面的参数填写以后,也会反映到这里相应的参数:主要关注下面几个参数:fs.defualt.name:与core-site.xml里fs.default.name设置一致。mapred.job.tracker:与mapred-site.xml里面mapred.job.tracker设置一致。hadoop.tmp.dir:与core-site.xml里hadoop.tmp.dir设置一致。(如果没有配置该属性,则使用默认的配置)hadoop.job.ugi:并不是设置用户名与密码。是用户与组名,所以这里填写hadoop,hadoop。dfs.replication:与hdfs-site.xml里面的dfs.replication一致。-8-参数配置正确之后,DFSLocation将显示HDFS上的数据,如下图:二、编写wordcount程序1、导入代码,引入jar包1)新建一个java项目2)引入需要的jar包在对应的项目上右击找到BuildPath-ConfigureBuildPath-9-选择’Libraries’选项卡,点击’AddExternalJARs’找到hadoop解压包的目录,将lib目录下的jar包,以及hadoop-ant-***.jar,hadoop-core-***.jar,hadoop-tools-***.jar导入-10-3)拷入wordcoutjava源文件2.配置运行参数并运行该程序1)配置运行参数:右击WordCount文件-Runas-RunConfiguration-11-找到Argumest选项卡在Programarguments输入两个参数,注意:参数之间用空格分隔本例中为:/user/hadoop/firstTest/user/hadoop/result3点击‘Apply’并关闭窗口2)运行程序:Runas-RunonHadoop-12-五、实验过程原始记录(测试数据、图表、计算等)原始输入文件-13-运行结果:六、实验结果、分析和结论(误差分析与数据处理、成果总结等。其中,绘制曲线图时必须用计算纸或程序运行结果、改进、收获)注:教师必须按照上述各项内容严格要求,认真批改和评定学生成绩。
本文标题:hadoop编程
链接地址:https://www.777doc.com/doc-1809990 .html