您的当前位置:首页正文

ubuntu上安装单机hadoop与伪分布式系统

2021-11-12 来源:客趣旅游网
实验1:安装单机Hadoop系统与WordCount程序实验

一、 系统安装运行情况

Part1首先是搭建单机的环境,并给出测试效果

说明:本系统的搭建主要参考两篇blog来完成,并解决调试中的错误,下面是这两篇blog的连接:

http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/ http://blog.csdn.net/zhaoyl03/article/details/8657104

首先操作系统用的是VMware WorkStation上架的ubuntu-13.10-desktop-i386 下面是搭建的主要过程:

1. 添加hadoop用户组以及hadoop用户

2. 安装SSH,并生成无密钥的SSH

然后通过:

来生成rsa的公钥和密钥,然后进行

至此就完成了无密钥的SSH的配置,下面是验证

3. 配置JDK

虽然Ubuntu自带了OpenJDK,但是我们想自己安装到一个便于管理的路径。下面是安

装的路径:

然后是配置jdk的路径:

在profile的最后加上:

4. 配置hadoop

这里选的hadoop的版本是:

首先到Apache的官网上去下载hadoop,然后解压到路径 /usr/local/

这里将hadoop-1.2.1重命名为hadoop,并修改它的用户组,同时将hadoop的路径加入到环境变量。

5. 配置hadoop-env.sh,这里讲jdk的路径加入进去,同时也加了hadoop的路径

至此单机的hadoop已经创建完了,下面是测试ppt中给出的案列的运行的效果:

新建两个txt文件

运行countword程序

最后查看结果

Part2下面是搭建伪分布式环境

搭建伪分布式环境的时候需要配置hadoop/conf/下的三个文件,分别是:core-site.xml、hdfs-site.xml和mapred-site.xml.

core-site.xml: Hadoop Core的配置项,例如HDFS和MapReduce常用的I/O设置等。 hdfs-site.xml: Hadoop 守护进程的配置项,包括namenode,辅助namenode和datanode等。

mapred-site.xml:MapReduce守护进程的配置项,包括jobtracker和tasktracker。下面依次介绍配置过程。

因为之前在配置的过程中,启动时还有问题,最后是将IPV6手动关闭并重启之后才成功的,关闭的方式是进行如下编辑:

重启后查看:cat /proc/sys/net/ipv6/conf/all/disable_ipv6为1的话说明配置成功。

1. 配置core-site.xml

因为之前配置的时候创建的目录是在Hadoop/tmp/文件下,导致最后运行hadoop的时候找不到namenode.进入logs/文件查看发现是当前目录是inconsistent的,所以就将目录建在/app/Hadoop/tmp下。

在配置core-site.xml的时候需要先创建目录:

2. 配置hdfs-site.xml

3. 配置mapred-site.xml

4. 然后就是格式化namenode,secondarynamenode, tasktracker等

先通过命令source hadoop/conf/hadoop-env.sh使得配置生效 然后是:bin/hadoopnamenodeforamt

5. 启动hadoop

6. 查看是否启动

如果可以全部显示上面的进程,表示运行成功。刚开始的时候我没有显示NameNode,最后是改了core-site.xml配置里的hadoop.tmp.dir的路径才成功的。

二.实验数据说明

实验所用的数据是从国外一个免费的电子书下载网站上下载的三个文档,分别是pg20417.txt等等。保存在/tmp/gutenberg上。下面是一个现下载链接的截图:

我们下载的是Plain Text UTF-8的形式。下面是三个文档的实例:

然后通过命令:bin/hadoopdfs -copyFromLocal /tmp/gutenberg /user/hduser/Gutenberg 拷贝到hdfs中,注意这里的 /user/hadoop/gutenberg不需要事先建立文件。

三.作业运行状态屏幕拷贝

我们通过下面的命令来运行mapreduce,下面只是程序运行中部分的截图。

下面是运行时hadoop_web界面某一时刻的显示: 1. Tracker界面

2. MapReduce界面

3. NameNode界面

四、实验输出结果开头部分的屏幕拷贝

这里将输出的hdfs文件getmerge到一个普通文件中,并对普通文件进行了查看,下面是运行的状态:

发现已经统计出了每个单词的个数。

五、实验体会

实验最大的体会就是hadoop在配置起来还是挺麻烦的,主要是一些小问题太多了。细节处理不到位就可能导致节点运行不起来,这里包括在刚开始安装hadoop2.3.0版本的时候没有conf/文件以及example-countword不在常用的目录下最后被迫安装了1.2.1.还有就是NameNode没运行起来等等。还好最后参照了michal的那篇安装手册,顺利的完成了安装和最后的测试。还有一个体会就是互联网对于知识的传播着实太重要了。并且hadoop在进行并行处理时的速度的确很快。最后感谢黄宜华老师辛苦的付出,谢谢。

因篇幅问题不能全部显示,请点此查看更多更全内容