Hadoop单机模式的安装以及执行WordCount程序_第1页
Hadoop单机模式的安装以及执行WordCount程序_第2页
Hadoop单机模式的安装以及执行WordCount程序_第3页
Hadoop单机模式的安装以及执行WordCount程序_第4页
Hadoop单机模式的安装以及执行WordCount程序_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、工学院实验报告课程名称: 分布式系统及云计算概论 实验项目名称: Hadoop安装以及执行WordCount程序 学 院: 工学院 专业班级: 姓 名: 学 号: 指导教师: 2014年 6 月 16 日一、 实验目的在虚拟机Ubantu上安装Hadoop单机模式并且执行WordCount程序。二、 实验仪器硬件:虚拟机Ubantu软件: Windows 7操作系统三、 实验原理基于云计算的Hadoop实现。WordCountWordCount 例子读取文本文件,并统计文件中单词出现的频数。WordCount对于hadoop的重要性,相当于HelloWorld对于JAVA的重要性。如果你想学习

2、MapReduce变成模型,那么学习WordCount是一个最好的开始。输入输入包含一组文件,文件中含有很多单词输出输出是一个文本文件,文件的每一行包含一个单词和这个单词在所有输入文件中出现的次数。输入样例input1:hello world bye worldinput2:hello hadoop bye hadoop输出样例:bye 2hadoop 2hello 2world 2四、实验内容及步骤实验内容: 一、安装Linux操作系统 二、在Ubuntu下创建Hadoop用户组和用户 三、在Ubuntu下安装JDK 四、修改机器名 五、安装

3、ssh服务 六、建立ssh无密码登录本机 七、安装Hadoop 八、在单机上运行Hadoop九、Hadoop执行WordCount程序实验步骤:一、安装Linux操作系统在虚拟机上使用镜像安装好Ubantu 12.04系统,此处不多做介绍,建议安装的时候修改成中文版,更将有利于接下来的步骤。二、在Ubuntu下创建Hadoop用户组和用户这里考虑的是以后涉及到Hadoop应用时,专门用该用户操作。用户组名和用户名都设为:hadoop。可以理解为该hadoop用户是属于一个名为hadoop的用户组,这是linux操作系统的知识,如果不清楚可以查看linux相关的书籍

4、。1、创建Hadoop用户组,如图(1)2、创建Hadoop用户,如图(2),除了Full name自己设置以外,其他的都可以直接Enter进入默认设置。3、给Hadoop用户添加权限,打开/etc/sudoers文件,如图(3)按回车键后就会打开/etc/sudoers文件了,给Hadoop用户赋予root用户同样的权限。在root   ALL=(ALL:ALL)   ALL下添加hadoop   ALL=(ALL:ALL)  ALL,如图(4)4、此时就可以重启Ubantu进入新建

5、的hadoop组了,选择的是你新建的hadoop组的Full name那个用户组,如下图所示,我设置的是hadoop01,所以我重启进入的就是hadoop01.三、在Ubuntu下安装JDK选择的是版本。安装文件名为jdk-6u30-linux-i586.bin.1、复制jdk到安装目录(1)假设jdk安装文件在桌面,我们指定的安装目录是:/usr/local/java 。可是系统安装后在/usr/local下并没有java目录,这需要我们去创建一个java文件夹,如图(5)(注:此时我已经进入了hadoop01了)(2)切换到桌面下,执行复制,如图(6)2、安装jdk(1)切换到root用户

6、下,如图(7)(注:如果因忘记密码而认证失败,可以先修改root用户的密码,再执行第(1)步,修改root用户密码如图(8)(2)运行jdk-6u30-linux-i586.bin,如图(9)注:可能此时仍然没有执行权限,那是因为在linux中,文件的默认权限是644,即使是属主用户也没有执行权限,这时我们需要更改其权限,如果你想知道某个文件的权限,可以进入该文件所在的文件夹,执行命令ls la 查看。这里将jdk-6u30-linux-i586.bin文件的权限改为777,即文件的属主用户,属组用户和其他用户对该文件拥有所有权限,当然不推荐对系统中的文件这样设置权限,因为这样就破坏了linu

7、x的安全性。)更改jdk-6u30-linux-i586.bin权限,如图(10)更改权限后再执行第(2)步,当看到如图(11)情况时,说明你安装成功了。(3)这时在/usr/local/java目录下就多了一个文件夹.,可以查看一下,如图(12)3、配置环境变量(1)打开/etc/profile文件,如图(13)(2)添加变量如下:1. # /etc/profile: system-wide .profile file for the Bourne shell (sh(1)  2.

8、# and Bourne compatible shells (bash(1), ksh(1), ash(1), .).  3. #set java environment  4.   5. export JAVA_HOME=/usr/local/java/jdk1.6.0_30  6.   7. export JRE_HOME=/usr/local/java/jdk1.6.0

9、_30/jre  8.   9. export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH  10.   11. export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH    (注:为了以后集群工作的方便,这里建议每台机器的java环境最好一致。)一般更改/etc/profile文件后,需要重启机器才能生效。这里介绍一种不用重启使其生效的

10、方法,如图(14)(3)查看java环境变量是否配置成功,如图(15)四、修改机器名(这一步骤可以有,也可以不需要)每当Ubuntu安装成功时,我们的机器名都默认为:ubuntu ,但为了以后集群中能够容易分辨各台服务器,需要给每台机器取个不同的名字。机器名由 /etc/hostname文件决定。1、打开/etc/hostname文件,如图(16)2、回车后就打开/etc/hostname文件了,将/etc/hostname文件中的Ubuntu改为你想取的机器名。这里我取“s18”。重启系统后才会生效。 五、安装ssh服务这里的ssh和三大框架:spring,st

11、ruts,hibernate没有什么关系,ssh可以实现远程登录和管理,具体可以参考其他相关资料。1、安装openssh-server(注:自动安装openssh-server时,可能会进行不下去,可以先进行如下操作:如图(17)) 更新过程可能会比较长,需要耐心等待。然后输入如图(18)此处也是比较慢,需要等待2、更新的快慢取决于您的网速了,如果中途因为时间过长您中断了更新(Ctrl+z),当您再次更新时,会更新不了,报错为:“Ubuntu无法锁定管理目录(/var/lib/dpkg/),是否有其他进程占用它?“需要如下操作,如图(19) 操作完成后继续执行第1步。这时假

12、设您已经安装好了ssh,您就可以进行第六步了。六、建立ssh无密码登录本机ssh生成密钥有rsa和dsa两种生成方式,默认情况下采用rsa方式。 1、创建ssh-key,这里我们采用rsa方式,如图(20)(注:回车后会在/.ssh/下生成两个文件:id_rsa和id_rsa.pub这两个文件是成对出现的) 2、进入/.ssh/目录下,将id_rsa.pub追加到authorized_keys授权文件中,开始是没有authorized_keys文件的,如图(21)完成后就可以无密码登录本机了。3、登录localhost,如图(22)( 注:当ssh远程登录到其它机

13、器后,现在你控制的是远程的机器,需要执行退出命令才能重新控制本地主机。) 4、执行退出命令,如图(23)七、安装Hadoop我采用的Hadoop版本是从 这个网站中的资源下载中的h.tar.gz1、假设h.tar.gz在桌面,将它复制到安装目录 /usr/local/下,如图(24)2、解压h.tar.gz,如图(25) 3、将解压出的文件夹改名为Hadoop,如图(26)4、将该hadoop文件夹的属主用户设为hadoop,如图(27)5、打开hadoop/conf/hadoop-env.sh文件,如图(28)6、配置conf/Hadoop-env.sh(找到#

14、export JAVA_HOME=.,去掉#,然后加上本机jdk的路径),如图(29)7、打开conf/core-site.xml文件 编辑如下:(注:9000最好是手打,避免产生不必要的错误)8、打开conf/mapred-site.xml文件,编辑如下:(注:9001最好是手打,避免产生不必要的错误)9、打开conf/hdfs-site.xml文件,编辑如下:10、打开conf/masters文件,添加作为secondarynamenode的主机名,作为单机版环境,这里只需填写localhost就Ok了。  11、打开conf/slaves文件,添加

15、作为slave的主机名,一行一个。作为单机版,这里也只需填写localhost就Ok了八、在单机上运行Hadoop1、进入Hadoop目录下,格式化hdfs文件系统,初次运行hadoop时一定要有该操作,如图(30)当你看到下图时,就说明你的hdfs文件系统格式化成功了。3、启动bin/start-all.sh,如图(31)4、检测Hadoop是否启动成功,如图(32)如果有Namenode,SecondaryNameNode,TaskTracker,DataNode,JobTracker五个进程,就说明你的Hadoop单机 版环境配置好了。九、Hadoop执行WordCount程序

16、1、首先如果你没打开hadoop,那么就参照第八个步骤的第3个步骤,开启hadoop,用jps验证。2、首先在"/usr/local/hadoop"目录下创建文件夹"file"。3、接着创建两个文本文件file1.txt和file2.txt,使file1.txt内容为"Hello World",而file2.txt的内容为"Hello Hadoop"。这里按cd .回到hadoops18:$,按照如图步骤创建2个txt。4、在HDFS上创建输入文件夹,hdfs路径如红框。5、上传本地file中文件到集群的input

17、目录下6、这个步骤不知道为什么原因,但是我在错误的情况下修改的一些地方,建议直接先到第7步验证后再回来看第6步。(1)(2)首先查看自己的虚拟机的IP地址,包括之前第四步设置的主机名。查看IP地址使用命令ifconfig,查看主机名修改使用sudo gedit /etc/hostname,路径如下输入这个修改,增添IP地址,(注:不知道是不是修改了这些的原因就可以执行程序了)。(3)前面2个设好后还是不行的话,看看是不是这里没有设置好7、接下来有2种方法运行wordcount.java,首先介绍第一种(1)运行WordCount程序如果提示你output已经存在,那么输入./hadoop df

18、s rmr output删除output文件夹即可,在如下路径中输入接着重新第(1)步(2)运行过程,(注:该过程可能需要5-10分钟)(3)查看结果接下来介绍第二种方法(1)新建一个目录,方法如下图(2)输入如下命令,如箭头所示,编译WordCount.java程序编译完后在/home/admin/WordCount目录会发现三个class文件 WordCount.class,WordCount$Map.class,WordCount$Reduce.class。cd 进入 /usr/local/hadoop/file目录,然后执行:jar cvf WordCount.jar *.class就会生成 WordCount.jar 文件。(3)因为我们已经构建好了2个txt,所以我们现在只要执行现在生成的WordCount.jar 文件就好了。(4)查看结果和第一种方法一致至此,我们已经完全验证完如何在Hadoop的单机模式下运行WordCount.java程序。五、总结这个

温馨提示

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

评论

0/150

提交评论