系统综合应用开发大作业_第1页
系统综合应用开发大作业_第2页
系统综合应用开发大作业_第3页
系统综合应用开发大作业_第4页
系统综合应用开发大作业_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2016-2017学年第一学期系统综合应用开发大作业课题名称:Hadoop集群搭建及MapReduce应用班 级:13级软工数据库1班学号:123456姓名: 123456成绩:2016年10月、Hadoop集群的搭建与配置1、节点准备此部分主要描述节点的规划,包括IP的分配,NameNode和DataNode的配置。1、设置IP修改 /etc/sysconfig/network-scripts/ifcfg-eth0 文件:DEVICE=eth0 -网卡名称BOOTPROTO=static -获取静态 IPHWADDR=00:E0:4C:F8:3B:CE -机器 MAC 地址 IPADDR=4

2、0 -IPNETMASK= - 子 网掩码 NETWORK=54 - 默认网 关 ONBOOT=yes2、设置 hostname在所有机器的/etc/hosts文件下添加:40 namenode46 datanode139 datanode249 datanode338 datanode451 datanode5注:为了使机器辨别到 hostname,必须重启机器。2、Java环境安装.进入安装目录cd /home/magic/gshare/linux下构造java开发环境 我的文件夹目录为:/home/magic/gshare/limjx 下构造java开发环境jdk-6u 134inux-

3、i 586. binrootmagtc - VirtualBox: /hone/riaglc# cd /hoEe/Eaqtc/gshdre八inux下第造av己开发环境 rootmagic - vtrtualBox: /ho(ne/nagtc/gshare/ltniixT J日va开发坏埃。.赋予权限sudo chmod u+x jdk-6u13-linux-i586.bin。(工如白研七 Virtual。*:/hoMe/naglc/gsh3E/llnux下构造 Jav白开发环境 sudo chnod u+x 1dk6ui3-linuK-tSfi6+bln3、执行安装 sudo .Zjdk-6

4、u13-linux-i586.bin ,进行编译。oot的agtt-Vlrtual日8:/hg再e/Mdgtt/g写Mr/Uu羯下构造 java开发讣0V sudo , / jdk -6ul 3 “Iinux-t 586.bin Sun Microsystems, Inc. Binary Code License Agreementfor the JAVA 5E DEVELOPMENT KIT (JDK), VERSION! 6SUN MICROSYSTEMS, INJ (SUN) IS WILLING TO LICENSE THE SOFTWARE IDENTIFIED BELOW TO Y

5、OU OHLV UPON THE CONDITION THAT YOU 4c匚毛PT ALL OF THE TERMS CONTAINED IN THIS BINARY CODE LICENSE AGREEMENT 息ND SUPPLEMENT* LICENSE TERMS (COLLECTIVELY AGREEMENT ). PLEASE READ THE AGREEMENT CAREFULLY. 0V gHNLQADIWG OR INSTALLING THIS SOFTWARE, YOU ACCEPT THE TERMS OF THE AGREEMENT. INDICATE ACCEPTA

6、NCE BY SELECTING THE ACCEPT BUTTON AT THE BOTTOM OF THE AGREEMENT. IF YOU ARE NOT MILLIHG TO BE BOUND BY ALL THE TERMS. SELECT THE DECLINE BUTTON AT THE BOTTOM OF THE AGREEMENT AND THE DOWNLOAD OR INSTALL PROCESS HILL NOT CONTINUE,1. DEFINITIONS, software means the identified above in接着一直按回车键,直到出现选项

7、:Please enter T,yes or no”.Do you agree to the above license terns? yes or no输入yes,按回车键。就可以完成安装了。3、 SSH酉己置hadoop控制脚本依赖ssh来执行针对整个集群的操作,因此为了支持无缝工作,此部分 主要描述SSH的配置。1、配置SSH(1)在namenode下执行ssh-keygen -t rsa (2)在 namenode 下执行ssh-copy-id -i /.ssh/id_rsa.pub rootnamenode ssh-copy-id -i /.ssh/id_rsa.pub rootda

8、tan ode1 ssh-copy-id -i /.ssh/id_rsa.pub rootdatanode2 ssh-copy-id -i /.ssh/id_rsa.pub root datanode3 ssh-copy-id -i /.ssh/id_rsa.pub rootdatanode4 ssh-copy-id -i /.ssh/id_rsa.pub r ootdatanode5遇到输入提示时,如果不是询问密码,可直接按回车进入下一步。执行完成后,实际上 在 namenode 节 点 的 /.ssh 目 录 下 生 成 了 三 个 文 件:authorized_keys、id_rsa、i

9、d_rsa.pub,在 datanode节点下分另1J生成了 authorized_keys 文件,作为密钥实现无密码通信 (2)判断是否安装成功在namenode节点执行ssh datanode1,如果没有询问密码就进入 datanode1的命令行界面, 证明安装成功,其他节点类似。rootljnamenode # ssh datanodelLasc login: Thu Jul 11 09:21:09 2013 from namenode | rootSdaranodelT * 2、安装JDK进入jdk-6u34-linux-i586-rpm.bin 文件所在目录,执行以下命令进行安 装:

10、.Zjdk-6u34-linux-i586-rpm.bin(2)安装完成后在Zetc/profile文件下加入JDK环境变量:#config javaexport JAVA_HOME=/usr/java/jdk1.6.0_34export CLASSPATH=.:$JA VA_HOME/lib/tools.jar:$JA VA_HOME/lib/dt.jar export PATH=$J AVA_HOME/bin:$PA TH(3)使设置生效source /etc/profile4、Hadoop 配置1)配置 hadoop-env.sh 该hadoop-env.sh文件位于 /usr/hado

11、op/etc/hadoop目 录下。 vim /usr/hadoop/etc/hadoop/hadoop-env.sh 在文件的末尾添力口下面内容。# set java environmentexport JAVA_HOME=/usr/java/jdk1.8.0_05 2)配置 yarn-env.sh 修改 JAVA_HOME 值 export JAVA_HOME=/usr/java/jdk1.8.0_05 / 3 )配置 slaves 文件 添加以下内容:(为数据节点服务器相应的IP地址) 并将原有的localhost行去掉。4)配置 core-site.xml文件 修改Hadoop核心配置

12、文件 core-site.xml,这里配置的是 HDFS的地址 和端 口号。文件修改后的内容如下: property hadoop.tmp.dir/usr/hadoop/tmpA base for other temporary directories.fs.defaultFShdfs:/:9000 备注:如没有配置hadoop.tmp.dir参数,此时系统默认的临时目录为:/tmp/hadoo-hadoop。而这个目录在每次重启后都会被干掉,必须重新执行 format 才行,否则会出错。5)配置hdfs-site.xml文件 文件修改后的内容如下: configuration) node.s

13、econdary.http-address:9001.dirfile:/usr/hadoop/dfs/namedfs.datanode.data.dirfile:/usr/hadoop/dfs/datadfs.replication1dfs.webhdfs.enabledtrue 6)配置mapred-site.xml 文件 将 mapred-queues.xml.template 复制成 mapred-site.xml 文件,修改 Hadoop中 MapReduce的配置文件,配置的是JobTracker的地址和端口。修改后的mapred-site.xml 文件内容如下: yarn 7)配置

14、 yarn-site.xml文件修改后该文件的内容如下:yarn.nodemanager.aux-services mapreduce_shuffle yarn.nodemanager.aux-services.mapreduce.shuffle.class ort.apache.hadoop.mapred.ShuffleHandleryarn.resourcemanager.address:8032yarn.resourcemanager.scheduler.address :8030yarn.resourcemanager.resource-tracker.address :8031yar

15、n.resourcemanager.admin.address :8033yarn.resourcemanager.webapp.address :8088 5、Hadoop 测试此部分主要对Hadoop进行测试。启动yarn在主节点上执行cd /opt/moudles/hadoop-2.7.1/ ./sbin/start-yarn.shshell!yarn( HYPERLINK /20160613155223649 /20160613155223649)#验证安装成功#浏览器查看 通过浏览器访问 HYPERLINK http:/hadoop01:50070 http:/hadoop01:50

16、070 ! 浏览器( HYPERLINK /20160613155409636 /20160613155409636) 通过浏览器访问 HYPERLINK http:/hadoop01:8088 http:/hadoop01:8088 ! 浏览器( HYPERLINK /20160613155503215 /20160613155503215)#程序验证 执行如下代码运行带有12个map和100个样本的pi实例shell cd /opt/moudles/hadoop-2.7.1/share/hadoop/mapreduce yarnjar ./hadoop-mapreduce-examples

17、-2.7.1.jar pi 12 100执行结果如下所示:Number of Maps = 12Samples per Map = 100Wrote input for Map #0Wrote input for Map #1Wrote input for Map #2Wrote input for Map #3Wrote input for Map #4Wrote input for Map #5Wrote input for Map #6Wrote input for Map #7Wrote input for Map #8Wrote input for Map #9Wrote input

18、 for Map #10Wrote input for Map #11Starting Job16/06/11 17:07:12 INFO client.RMProxy: Connecting toResourceManager at hadoop01/1:803216/06/11 17:07:12 INFO input.FileInputFormat: Total input paths to process : 1216/06/11 17:07:12 INFO mapreduce.JobSubmitter: number of splits:1216/06/11 17:07:12 INFO

19、 mapreduce.JobSubmitter: Submitting tokens for job: job_1465618407612_000616/06/11 17:07:13 INFO impl.YarnClientImpl: Submitted application application_1465618407612_000616/06/11 17:07:13 INFO mapreduce.Job: The url to track the job: HYPERLINK http:/hadoop01:8088/proxy/application_1465618407612_0006

20、/ http:/hadoop01:8088/proxy/application_1465618407612_0006/ 16/06/11 17:07:13 INFO mapreduce.Job: Running job: job_1465618407612_000616/06/11 17:07:17 INFO mapreduce.Job: Job job_1465618407612_0006 running in uber mode : false 16/06/11 17:07:17 INFO mapreduce.Job: map 0% reduce 0% 16/06/11 17:07:29

21、INFO mapreduce.Job: map 8% reduce 0% 16/06/11 17:07:30 INFO mapreduce.Job: map 67% reduce 0% 16/06/11 17:07:36 INFO mapreduce.Job: map 75% reduce 0% 16/06/11 17:07:37 INFO mapreduce.Job: map 100% reduce 100% 16/06/11 17:07:37 INFO mapreduce.Job: Job job_1465618407612_0006 completed successfully16/06

22、/11 17:07:37 INFO mapreduce.Job: Counters: 49File System CountersFILE: Number of bytes read=270FILE: Number of bytes written=1505992FILE: Number of read operations=0FILE: Number of large read operations=0FILE: Number of write operations=0HDFS: Number of bytes read=3170HDFS: Number of bytes written=2

23、15HDFS: Number of read operations=51HDFS: Number of large read operations=0HDFS: Number of write operations=3Job CountersLaunched map tasks=12Launched reduce tasks=1Data-local map tasks=12Total time spent by all maps in occupied slots (ms)=157380Total time spent by all reduces in occupied slots (ms)

24、=5029Total time spent by all map tasks (ms)=157380Total time spent by all reduce tasks (ms)=5029Total vcore-seconds taken by all map tasks=157380Total vcore-seconds taken by all reduce tasks=5029Total megabyte-seconds taken by all map tasks=161157120Total megabyte-seconds taken by all reduce tasks=5

25、149696 Map-Reduce FrameworkMap input records=12Map output records=24Map output bytes=216Map output materialized bytes=336Input split bytes=1754Combine input records=0Combine output records=0Reduce input groups=2Reduce shuffle bytes=336Reduce input records=24Reduce output records=0Spilled Records=48S

26、huffled Maps =12Failed Shuffles=0Merged Map outputs=12GC time elapsed (ms)=3029CPU time spent (ms)=35170Physical memory (bytes) snapshot=3409559552Virtual memory (bytes) snapshot=11427811328Total committed heap usage (bytes)=2604138496Shuffle ErrorsBAD_ID=0CONNECTION=0IO_ERROR=0WRONG_LENGTH=0WRONG_M

27、AP=0WRONG_REDUCE=0File Input Format CountersBytes Read=1416File Output Format CountersBytes Written=97Job Finished in 25.365 secondsEstimated value of Pi is 3.14666666666666666667关闭hadoop停止yarn在主节点上执行如下命令cd /opt/moudles/hadoop-2.7.1/ ./sbin/stop-yarn.sh停止hdfs在主节点执行如下命令cd /opt/moudles/hadoop-2.7.1/./

28、sbin/stop-dfs.shMapReduce 应用1、应用描述对输入文件中数据进行就算学生平均成绩。输入文件中的每行内容均为一个学生的姓名和他相应的成绩,如果有多门学科,则每门学科为一个文件。 要求在输出中每行有两个间隔的数 据,其中,第一个代表学生的姓名,第二个代表其平均成绩。2、数据准备7 7 6 67 6 8 7 六六六六 -IT - -IT - -z - -IT 6 6 4 26 9 8-8五五五五王王王干9 9 2 09 8 8 9 四四四四 8 8 0 28 7 8 8样本输入:nath:china:english:样本偏出:3、设计思路计算学生平均成绩是一个仿 WordCo

29、unt例子,用来重温一下开发 MapReduce程序的流 程。程序包括两部分的内容:Map部分和Reduce部分,分别实现了 map和reduce的功能。Map处理的是一个纯文本文件,文件中存放的数据时每一行表示一个学生的姓名和他相应一科成绩。Mapper处理的数据是由InputFormat分解过的数据集,其中 InputFormat的作用 是将数据集切割成小数据集InputSplit ,每一个InputSlit将由一个Mapper负责处理。此外,InputFormat 中还提供了一个 RecordReader 的实现,并将一个InputSplit 解析成 对提供给了 map函数。InputF

30、ormat的默认值是 TextInputFormat ,它针对文本文件, 按行将 文本切割成 InputSlit ,并用 LineRecordReader 将 InputSplit 解析成 对,key 是行 在文本中的位置,value是文件中的 一行。 Map的结果会通过 partion分发到Reducer, Reducer做完Reduce操作后,将通过以格式OutputFormat输出。 Mapper最终处理的结果对 ,会送至ij Reducer中进行合并,合并的时候,有相同key的键/值对则送到同一 个 Reducer上。Reducer是所有用户定制 Reducer类地基础,它的输入是ke

31、y和这个key对应的所有value的一个迭代器,同时还有 Reducer的上下文。Reduce的结果由Reducer.Context 的write方法输出到文件中。4、程序代码/ 输出姓名和成绩 context.write(name, new IntWritable(scoreInt); public/ 实现 reduce context) throwsstatic class Reduce extends Reducer 函数 public void reduce(Text key, Iterable values, ContextIOException, InterruptedExcept

32、ion int sum = 0; int count = 0; Iterator iterator = values.iterator(); while (iterator.hasNext() sum += iterator.next().get(); 计算总分 count+;/统计总的科目数 int average = (int) sum / count;/计算平均成绩context.write(key, new IntWritable(average); public static void main(String args) throws Exception Configuration conf = new Configuration(); / 这句话彳艮关键conf.set(mapred.job.tracker, :9001); String ioArgs = new String score_in, score_out ; String otherArgs = new GenericOptionsParser(conf, ioArgs).getRemainingArgs(); if (otherArgs.length != 2) System.err.println(Usage: Score Average ); Sy

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论