Hadoop单机模式的安装以及执行WordCount程序.docx
- 文档编号:8993574
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:15
- 大小:3.94MB
Hadoop单机模式的安装以及执行WordCount程序.docx
《Hadoop单机模式的安装以及执行WordCount程序.docx》由会员分享,可在线阅读,更多相关《Hadoop单机模式的安装以及执行WordCount程序.docx(15页珍藏版)》请在冰豆网上搜索。
Hadoop单机模式的安装以及执行WordCount程序
工学院
实验报告
课程名称:
分布式系统及云计算概论
实验项目名称:
Hadoop安装以及执行WordCount程序
学院:
工学院
专业班级:
姓名:
学号:
指导教师:
2014年6月16日
一、实验目的
在虚拟机Ubantu上安装Hadoop单机模式并且执行WordCount程序。
二、实验仪器
硬件:
虚拟机Ubantu
软件:
Windows7操作系统
三、实验原理
基于云计算的Hadoop实现。
WordCount
WordCount例子读取文本文件,并统计文件中单词出现的频数。
WordCount对于hadoop的重要性,相当于HelloWorld对于JAVA的重要性。
如果你想学习MapReduce变成模型,那么学习WordCount是一个最好的开始。
输入
输入包含一组文件,文件中含有很多单词
输出
输出是一个文本文件,文件的每一行包含一个单词和这个单词在所有输入文件中出现的次数。
输入样例
input1:
helloworldbyeworld
input2:
hellohadoopbyehadoop
输出样例:
bye2
hadoop2
hello2
world2
四、实验内容及步骤
实验内容:
一、安装Linux操作系统
二、在Ubuntu下创建Hadoop用户组和用户
三、在Ubuntu下安装JDK
四、修改机器名
五、安装ssh服务
六、建立ssh无密码登录本机
七、安装Hadoop
八、在单机上运行Hadoop
九、Hadoop执行WordCount程序
实验步骤:
一、安装Linux操作系统
建议安装的时候修改此处不多做介绍,系统,Ubantu12.04在虚拟机上使用镜像安装好
成中文版,更将有利于接下来的步骤。
二、在Ubuntu下创建Hadoop用户组和用户
这里考虑的是以后涉及到Hadoop应用时,专门用该用户操作。
用户组名和用户名都设为:
hadoop。
可以理解为该hadoop用户是属于一个名为hadoop的用户组,这是linux操作系统的知识,如果不清楚可以查看linux相关的书籍。
1、创建Hadoop用户组,如图
(1)
EnternameFull自己设置以外,其他的都可以直接Hadoop用户,如图
(2),除了2、创建进入默认设置。
文件,如图(3)Hadoop3、给用户添加权限,打开/etc/sudoers
用户同样的权限。
在Hadoop用户赋予root文件了,给按回车键后就会打开/etc/sudoers)4,如图(hadoopALL=(ALL:
ALL)ALL下添加rootALL=(ALL:
ALL)ALL.
Full组的hadoop组了,选择的是你新建的hadoop4、此时就可以重启Ubantu进入新建的hadoop01.
,所以我重启进入的就是那个用户组,如下图所示,我设置的是hadoop01name
JDK
Ubuntu下安装三、在jdk-6u30-linux-i586.bin.版本。
安装文件名为jdk1.6.0_30选择的是到安装目录1、复制jdk。
可是系统安装后/usr/local/java)假设jdk安装文件在桌面,我们指定的安装目录是:
(1文件夹,如图(5)/usr/local在下并没有java目录,这需要我们去创建一个javahadoop01了)(注:
此时我已经进入了
)切换到桌面下,执行复制,如图((26)
jdk
2、安装用户下,如图(
(1)切换到root7)
)步,修改1root(注:
如果因忘记密码而认证失败,可以先修改用户的密码,再执行第())8用户密码如图(root
)jdk-6u30-linux-i586.bin,如图(9
(2)运行
,即使是属中,文件的默认权限是644注:
可能此时仍然没有执行权限,那是因为在linux可以进这时我们需要更改其权限,如果你想知道某个文件的权限,主用户也没有执行权限,文件的权限改查看。
这里将jdk-6u30-linux-i586.bin入该文件所在的文件夹,执行命令ls–la
,即文件的属主用户,属组用户和其他用户对该文件拥有所有权限,当然不推荐对系777为)统中的文件这样设置权限,因为这样就破坏了linux的安全性。
)jdk-6u30-linux-i586.bin权限,如图(10更改
11)情况时,说明你安装成功了。
更改权限后再执行第
(2)步,当看到如图(
12(),目录下就多了一个3()这时在/usr/local/javajdk1.6.0_30文件夹.可以查看一下,如图
3、配置环境变量13文件,如图()/etc/profile1()打开
)添加变量如下:
2(#/etc/profile:
system-wide.profilefilefortheBourneshell(sh
(1))
1.
2.#andBournecompatibleshells(bash
(1),ksh
(1),ash
(1),...).
3.#setjavaenvironment
4.
5.exportJAVA_HOME=/usr/local/java/jdk1.6.0_30
6.
7.exportJRE_HOME=/usr/local/java/jdk1.6.0_30/jre
8.
9.exportCLASSPATH=.:
$JAVA_HOME/lib:
$JRE_HOME/lib:
$CLASSPATH
10.
11.exportPATH=$JAVA_HOME/bin:
$JRE_HOME/bin:
$JAVA_HOME:
$PATH
(注:
为了以后集群工作的方便,这里建议每台机器的java环境最好一致。
)
一般更改/etc/profile文件后,需要重启机器才能生效。
这里介绍一种不用重启使其生效的方法,如图(14)
15)环境变量是否配置成功,如图((3)查看java
四、修改机器名(这一步骤可以有,也可以不需要),但为了以后集群中能够容ubuntu每当Ubuntu安装成功时,我们的机器名都默认为:
文件决定。
易分辨各台服务器,需要给每台机器取个不同的名字。
机器名由/etc/hostname文件,如图(16)1、打开/etc/hostname
改为你想取的机Ubuntu、回车后就打开/etc/hostname文件了,将/etc/hostname文件中的2器名。
这里我取“s18”。
重启系统后才会生效。
五、安装ssh服务可以实现远程登录和sshssh这里的和三大框架:
spring,struts,hibernate没有什么关系,管理,具体可以参考其他相关资料。
openssh-server
1、安装)openssh-server(注:
自动安装时,可能会进行不下去,可以先进行如下操作:
如图(17)
更新过程可能会比较长,需要耐心等待。
18)然后输入如图(
此处也是比较慢,需要等待,当您再Ctrl+z2、更新的快慢取决于您的网速了,如果中途因为时间过长您中断了更新(),是否有其他无法锁定管理目录(/var/lib/dpkg/)次更新时,会更新不了,报错为:
“Ubuntu19)进程占用它?
“需要如下操作,如图(1步。
这时假设您已经安装好了ssh,您就可以进行第六步了。
操作完成后继续执行第
六、建立ssh无密码登录本机,这ssh-key,、创建方式。
两种生成方式,默认情况下采用和生成密钥有sshrsadsarsa1)20方式,如图(rsa里我们采用.
这两个文件是成对出现的)和id_rsa.pub(注:
回车后会在~/.ssh/下生成两个文件:
id_rsa授权文件中,开始是没有追加到authorized_keys、进入~/.ssh/目录下,将id_rsa.pub2)authorized_keys文件的,如图(21
完成后就可以无密码登录本机了。
22、登录localhost,如图()3
远程登录到其它机器后,现在你控制的是远程的机器,需要执行退出命令才能(注:
当ssh)
重新控制本地主机。
.
4、执行退出命令,如图(23)
Hadoop
七、安装这个网站中的资源下载中版本是从我采用的Hadoop
hadoop-0.20.2.tar.gz
的24)hadoop-0.20.2.tar.gz、假设在桌面,将它复制到安装目录/usr/local/下,如图(1
)hadoop-0.20.2.tar.gz,如图(252、解压
26)3、将解压出的文件夹改名为Hadoop,如图(
文件夹的属主用户设为hadoop,如图(27)4、将该hadoop
)hadoop/conf/hadoop-env.sh5、打开文件,如图(28
,,去掉(找到配置6、conf/Hadoop-env.sh#exportJAVA_HOME=...,#然后加上本机jdk的路径))29如图(.
文件、打开7conf/core-site.xml
9000最好是手打,避免产生不必要的错误)编辑如下:
(注:
最好是手打,避免产生不必要的9001文件,编辑如下:
、打开8conf/mapred-site.xml(注:
错误)
conf/hdfs-site.xml、打开文件,编辑如下:
9
的主机名,作为单机版环境,这secondarynamenode、打开conf/masters文件,添加作为10Ok了。
就里只需填写localhost
的主机名,一行一个。
作为单机版,这里也只需conf/slaves文件,添加作为slave、打开11localhost填写就Ok了
八、在单机上运行Hadoop
1、进入Hadoop目录下,格式化hdfs文件系统,初次运行hadoop时一定要有该操作,如图(30)
hdfs文件系统格式化成功了。
当你看到下图时,就说明你的
31bin/start-all.sh,如图()3、启动
)324、检测Hadoop是否启动成功,如图(
五个进程,就,DataNodeJobTracker,如果有Namenode,SecondaryNameNodeTaskTracker,版环境配置好了。
Hadoop说明你的单机
Hadoop程序执行WordCount九、jps,用hadoop个步骤,开启3,那么就参照第八个步骤的第hadoop、首先如果你没打开1.
验证。
晜汩履目录下创建文件夹。
2、首先在屜甯牳?
潬慣屬栯摡潯屰
file2.txt,而内容为Hello潗汲層file2.txt3、接着创建两个文本文件file1.txt和,使file1.txttxt。
,按照如图步骤创建..回到hadoop@s18:
~$2个的内容为?
汥潬?
摡潯屰。
这里按cd
hdfs上创建输入文件夹,路径如红框。
4、在HDFS
5、上传本地file中文件到集群的目录下input
、这个步骤不知道为什么原因,但是我在错误的情况下修改的一些地方,建议直接先到第67步验证后再回来看第6步。
)1(.
地址,包括之前第四步设置的主机名。
IP
(2)首先查看自己的虚拟机的sudogedit/etc/hostnameifconfig,查看主机名修改使用,路径如下IP查看地址使用命令
地址,输入这个修改,增添IP(注:
不知道是不是修改了这些的原因就可以执行程序了)。
个设好后还是不行的话,看看是不是这里没有设置好2)前面3(.
,首先介绍第一种wordcount.java7、接下来有2种方法运行程序
(1)运行WordCount
文件夹即可,删除rmroutputoutput已经存在,那么输入如果提示你output./hadoopdfs–在如下路径中输入
接着重新第
(1)步(注:
该过程可能需要5-10分钟))运行过程,(2
3)查看结果(
接下来介绍第二种方法
(1)新建一个目录,方法如下图
WordCount.java程序
(2)输入如下命令,如箭头所示,编译,WordCount.class文件会发现三个class录后编译完在/home/admin/WordCount目。
,WordCount$Reduce.classWordCount$Map.class然后执行:
/usr/local/hadoop/file目录进入cd
jarcvfWordCount.jar*.class
WordCount.jar文件。
就会生成
文,所以我们现在只要执行现在生成的个)因为我们已经构建好了(32txtWordCount.jar
件就好了。
.
4)查看结果和第一种方法一致(
WordCount.java程序。
至此,我们已经完全验证完如何在Hadoop的单机模式下运行
五、总结,0%成功,reduce一直是这个并不难,难的在于,最后第九个步骤的时候一直无法jar于是我实验了许多种方法,包括第九步中的第二种方法。
,hadoop-env.sh后来我就去第八个步骤中看看那四个文件的配置是否产生了错误,中删除然后重新.xml在各自的9000和9001·等,这个时候我无意中试着把core-site.xml··程序了,原因不是很清楚,但是相信我配置还是正确的。
输入,就可以运行WordCount.java不知道这些是不是导致我最终成功的6个步骤中修改了那些数据,我在第九步的另外,原因。
希望今后能更加严格的要求自己,找出问题并解决问题。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Hadoop 单机 模式 安装 以及 执行 WordCount 程序
![提示](https://static.bdocx.com/images/bang_tan.gif)