云计算虚拟化hadoop实验报告.docx
《云计算虚拟化hadoop实验报告.docx》由会员分享,可在线阅读,更多相关《云计算虚拟化hadoop实验报告.docx(22页珍藏版)》请在冰豆网上搜索。
![云计算虚拟化hadoop实验报告.docx](https://file1.bdocx.com/fileroot1/2023-2/23/70e91fc0-fea8-4957-bcb8-ad0fab31b6c9/70e91fc0-fea8-4957-bcb8-ad0fab31b6c91.gif)
云计算虚拟化hadoop实验报告
四川大学计算机学院、软件学院
实验报告
学号:
姓名:
专业:
班级:
9第15周
课程名称
云计算与分布式系统
实验课时
6
实验项目
在最终部署的Hadoop上运行WordCount程序
实验时间
2015年6月11日星期四
实验目的
1.首先通过Linux系统和KVM虚拟机的安装达成对Linux系统与虚拟机相关知识的了解和熟悉;
2.通过Linux下JAVA-ADT的安装以及Hadoop的相关配置了解Hadoop的基础知识及基础的应用方法;
3.通过多台主机的虚拟化以及Hadoop的联合部署,在该平台上运行WordCount程序,体验基本的云计算的雏形应用并加深对云计算相关知识的了解。
实验环境
硬件环境:
PC机
软件环境:
Ubuntu镜像,Linux镜像以及KVM虚拟机程序包
实验内容(算法、程序、步骤和方法)
一、实验背景
1.在云计算及其相关应用日益火爆的今天,我们通过课堂上老师讲述的云计算相关的基本知识,已经对于利用Hadoop的配置实现一个较为简单的云计算环境有了一定的认识,因此,在本课程的期末设计中,我们采用Linux下的Hadoop搭建来运行一些简单的程序比如Wordcount来达成对云计算的实现的基本知识的学习效果;
2.本实验中使用的是MapReduce的编程模型,采用“分而治之”的基本思想,把对大规模数据集的操作,分发给一个主节点管理下的各个分节点共同完成,然后通过整合各个节点的中间结果,得到最终结果。
简单地说,MapReduce就是"任务的分解与结果的汇总";
3.在Hadoop中,用于执行MapReduce任务的机器角色有两个:
一个是JobTracker;另一个是TaskTracker,JobTracker是用于调度工作的,TaskTracker是用于执行工作的。
一个Hadoop集群中只有一台JobTracker;
4.但是值得注意的一点是若要使用本实验中的MapReduce来处理数据集(或任务),其必须具备如下特点:
待处理的数据集可以分解成许多小的数据集,而且每一个小数据集都可以完全并行地进行处理。
二、Linux及KVM虚拟机安装
1.首先我们找到比较常用的Linux适用版本镜像文件,这里我们使用的是图形化做得非常好的Ubuntu14.04,然后使用UltraISO做出一个启动盘并在电脑上做出一个双系统,分区大小我们参照网络上的建议将主分区目录设置为20G,成功做出一个Linux系统(这里我忘了截图了)
装机的过程和下面的虚拟机装机是一样的。
2.然后我们在完成Linux下的基础软件安装的情况下进行程序的KVM虚拟机安装,首先使用如下指令:
$egrep-o'(vmx|svm)'/proc/cpuinfo检查Linux是否支持安装KVM,结果显示是可以安装的,于是我们这里使用指令:
$apt-getinstallqemu-kvmlibvirt-binvirt-managerbridge-utils安装KVM虚拟机,安装过程是自动完成的,如下图所示:
3.经验证我们发现KVM是安装成功并且正常运行的,安装成功的验证指令为:
#lsmod|grepkvm,到这里KVM的安装就基本完成了。
4.然后我们需要在KVM上创建一个虚拟机,具体操作步骤如下:
在根下创建images目录,在images下创建iso和test目录。
5.之后我们使用指令:
virt-install--nameubuntutest--hvm--ram1024--vcpus1--diskpath=/images/test/disk.img,size=10--networknetwork:
default--accelerate--vnc--vncport=5911--cdrom/images/iso/ubuntu-15.04-server-amd64.iso–d创建虚拟机,至此我们基本完成了前期的基础性工作,操作流程图如下所示:
虚拟机装机界面:
6.虚拟机创建完成之后还可以使用#virshlist–all指令验证虚拟机是否存在,以及#virshstartVMNAME指令启动虚拟机
三、SSH的创建及使用
首先创建Hadoop用户组,使用指令:
$sudoaddgrouphadoop,然后创建一个Hadoop用户,使用如下指令:
$sudoadduser-ingrouphadoophadoop,并且为用户添加权限,使用如下指令:
$sudogedit/etc/sudoers,操作截图如下所示:
(接上)
实验内容(算法、程序、步骤和方法)
1.
2.然后我们使用新增加的Hadoop用户登录Ubuntu系统,之后我们使用指令sudoapt-getinstallopenssh-server安装ssh,运行截图如下所示:
3.ssh安装完成之后我们使用指令:
sudo/etc/init.d/sshstart启动服务,并且使用指令ps-e|grepssh查看服务是否启动正确,程序运行截图如下所示:
4.然后我们设置免密码登录并生成公钥和私钥,使用如下指令:
ssh-keygen-trsa-P"",程序运行截图如下所示:
5.此时会在/home/hadoop/.ssh下生成两个文件:
id_rsa和id_rsa.pub,前者为私钥,后者为公钥。
下面我们将公钥追加到authorized_keys中,它用户保存所有允许以当前用户身份登录到ssh客户端用户的公钥内容。
cat~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys,程序截图如下所
6.最后我们使用指令:
sshlocalhost来登录ssh,完成我们第二部分的前期准备工作,程序截图如下所示:
四、JAVA环境变量配置
1.我们使用指令:
sudoapt-getinstallopenjdk-7-jdk来获取并安装java的jdk,并使用指令:
java–version来检测jdk是否安装成功,程序截图如下所示:
五、安装Hadoop
1.首先从官网下载Hadoop的安装包,然后使用指令:
sudotarxzfhadoop-2.4.0.tar.gz将hadoop解压,然后我们在命令窗口中输入指令:
sudomvhadoop-2.4.0/usr/local/hadoop拷贝到/usr/local/下,使用指令:
sudochmod774/usr/local/hadoop获取文件读写权限,步骤截图如下所示:
2.然后我们需要对~/.bashrc文件进行配置,需要知道JAVA——HOME环境变量,使用如下指令查询:
update-alternatives--configjava,然后利用指令:
sudogedit~/.bashrc打开文本编辑窗口,并如图所示编辑内容,保存后关闭,执行指令:
source~/.bashrc使更改生效,步骤截图如下所示:
3.最后我们进行目录为/usr/local/hadoop/etc/hadoop/hadoop-env.sh的文件更改,执行命令:
sudogedit/usr/local/hadoop/etc/hadoop/hadoop-env.sh打开文本编辑窗口,如图所示修改文本内容,保存后关闭,步骤截图如下所示:
六、WordCount实例测试
1.首先我们在/usr/local/hadoop路径下创建input文件夹,使用指令:
mkdirinput,然后使用指令:
cpREADME.txtinput将README.txt拷贝到input文件夹下,步骤截图如下所示:
2.最后到现在我们已经基本实现了程序运行的初始化条件,然后我们输入如下指令:
bin/hadoopjarshare/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.4.0-sources.jarorg.apache.hadoop.examples.WordCountinputoutput完成程序的运行,运行截图如下所
结论
(结果)
由上图的实验记录以及截图过程可以看到,本次实验基本完成了老师的要求,成功安装linux操作系统,在linux操作系统中成功安装KVM虚拟机,但是在KVM下在安装linux操作系统还存在问题,安装遇到麻烦,并没有成功。
成功安装JAVA环境以及hadoop,并成功执行了hadoop下经典的WordCount程序,完成了老师的要求。
小结
虽然只是安装,配置好hadoop的环境,但是在实验过程中,并不是想象的那么简单,还是遇到了较大的问题。
在安装kvm的时候,由于没有在操作系统里开虚拟机,所以造成了后面的命令一直不能成功,在这里卡了很久。
再后来查阅资料后,弄清楚了这些细节,才能完成后续的实验安装操作。
然后就是我找的教程上面的wordcount部分是有错误的,导致很久都找不到目标文件夹,所以这里花了很多时间,最后又同学的指导以及查阅资料下,就找到了问题所在,成功完成了实验。
本次试验里,同学的帮助以及资料的查阅是不可少的,有很多搭建成功的同学给予了我很多指导,所以我们之后要多多的互相学习,解决问题。
收获很多,让自己弄清楚了很多关于云计算Hadoop的知识,为以后的发展,打下了很好的基础。
指导老师评议
成绩评定:
指导教师签名: