购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1 搭建Hadoop单机版本和伪分布式开发环境

构建Spark集群经典四部曲的第一部,从零起步构建Hadoop单机版本和伪分布式的开发环境,涉及:

(1)下载Hadoop所需的基本软件。

(2)安装每个软件。

(3)配置Hadoop单机运行模式并运行Wordcount示例。

(4)配置Hadoop伪分布式模式并运行Wordcount示例。

2.1.1 开发Hadoop需要的基本软件

我们是在Windows 7上构建Hadoop的,此时需要VMware虚拟机、Ubuntu的ISO镜像文件、Java SDK的支持、Eclipse IDE平台、Hadoop安装包等。

(1)VMware虚拟机,笔者这里使用的是VMware Workstation 9.0.2 for Windows,具体的下载地址是https://my.VMware.com/cn/web/VMware/details?downloadGroup=WKST-902-WIN&productId=293&rPId=3526,如图2-1所示。

图2-1 下载VMware虚拟机

安装VMware时需要的序列码,读者需要从网络上下载。

(2)Ubuntu的ISO镜像文件,笔者这里使用的ubuntu-12.10-desktop-i386,具体下载地址为http://www.ubuntu.org.cn/download/desktop/alternative-downloads,如图2-2所示。

(3)Java SDK的支持,笔者使用的是最新的“jdk-7u60-linux-i586.tar.gz”,具体的下载地址是:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html,如图2-3所示。

图2-2 Ubuntu的ISO镜像文件

图2-3 Java SDK的支持

(4)下载最新稳定版本的Hadoop,笔者下载的是“hadoop-1.1.2-bin.tar.gz”,具体官方下载地址为http://mirrors.cnnic.cn/apache/hadoop/common/stable/,下载后在本地保存,如图2-4所示。

图2-4 最新稳定版本的Hadoop

2.1.2 安装每个软件

1.安装VMware虚拟机

第1步:单击“VMware-workstation-full-9.0.2-1031769”可执行文件,如图2-5所示。

图2-5 安装VMware虚拟机之第1步

第2步:按照默认流程安装即可,界面如图2-6所示。

图2-6 安装VMware虚拟机之第2步

第3步:输入产品序列码,如图2-7所示。

图2-7 安装VMware虚拟机之第3步

第4步:此时输入产品的序列码,单击“Enter”按钮进入下一步完成安装,界面如图2-8所示。

图2-8 安装VMware虚拟机之第4步

VMware安装完成后启动VMware虚拟机,主界面如图2-9所示。

图2-9 VMware虚拟机主界面

2.安装Ubuntu系统

Unbuntu系统是我们搭建Hadoop集群时最常用的操作系统之一,下面带领大家一步步完成在VMware虚拟机下Unbuntu系统的安装。

第1步:创建VMware新虚拟系统,如图2-10所示。

图2-10 创建新虚拟机之第1步

第2步:这里选择“Typical”的方式,单击“Next”按钮进入下一步,如图2-11所示。

图2-11 创建新虚拟机之第2步

第3步:选择稍后安装操作系统,单击“Next”按钮进入下一步,如图2-12所示。

图2-12 创建新虚拟机之第3步

第4步:选择安装Linux系统的Ubuntu版本,单击“Next”按钮进入下一步,如图2-13所示。

图2-13 创建新虚拟机之第4步

第5步:笔者这里选择了自定义系统的存放路径为“E:\VMware\Virtual Machines\Master”,单击“Next”按钮进入下一步,如图2-14所示。

图2-14 创建新虚拟机之第5步

第6步:这里默认安装的Ubuntu系统会占用20 GB的磁盘,当然也可以根据自己的磁盘情况进行调整,其他默认设置即可,单击“Next”按钮进入下一步,如图2-15所示。

图2-15 创建新虚拟机之第6步

第7步:单击“Next”按钮进入下一步,如图2-16所示,该图显示了根据前面的设置创建虚拟机的汇总信息。完成操作系统所在虚拟机的创建,并设置Ubuntu的ISO镜像路径。

图2-16 创建新虚拟机之第7步

第8步:单击“Finish”按钮完成新虚拟机的创建,如图2-17所示。

图2-17 完成新虚拟机的创建

接下来对创建的新虚拟机进行配置。

第1步:单击我们新创建的名称为Master的Ubuntu虚拟机,如图2-18所示。

图2-18 开始配置

第2步:在如图2-18所示界面上单击“CD/DVD(IDE)”进入如图2-19所示的界面。

图2-19 硬件配置

第3步:选择Ubuntu的ISO的具体存放路径,选择好单击“OK”按钮后的界面如图2-20所示。单击“OK”完成设置。

图2-20 选择ISO的具体存放路径

第4步:在图2-20左侧单击“Memory”,此时把我们虚拟的内存设置为2 GB,如图2-21所示。单击“OK”完成设置。

图2-21 设置内存大小

启动虚拟机,正式开启Ubuntu系统的安装。单击“Power on this virtual machine”启动虚拟机,此时进入Ubuntu的安装,如图2-22所示。

图2-22 开始Ubuntu的安装

等待一段时间后虚拟机自动进入如图2-23所示的欢迎界面。

图2-23 欢迎界面

单击“Install Ubuntu”进入Ubuntu的安装,如图2-24所示。

图2-24 安装Ubuntu第1步

一直单击“Continue”按钮进入下一步,如图2-25~图2-29所示。

图2-25 安装Ubuntu第2步

图2-26 安装Ubuntu第3步

图2-27 安装Ubuntu第4步

设置好用户名和密码等信息:

图2-28 安装Ubuntu第5步

进入自动安装过程:

图2-29 安装Ubuntu第6步

这个自动安装的过程需要大约5分钟,即完成了安装,如图2-30所示。

图2-30 完成安装

单击“Restart Now”重启系统,在如图2-31所示的界面输入自己的密码,即进入Ubuntu系统,如图2-32所示。

图2-31 输入密码

图2-32 进入Ubuntu系统

单击“Firefox Web Browser”进入如图2-33所示的界面,成功地访问了网络,表明Ubuntu系统安装成功。

图2-33 Ubuntu系统安装成功

3.登录和使用Ubuntu系统

为了简化权限等问题,下面我们以root用户的身份登录和使用Ubuntu系统,而Ubuntu在默认情况下并没有开启root用户,这需要我们做如下设置:

下面是笔者的具体操作:

第1步:进入root用户权限。

通过 sudo-s进入 root用户权限模式

• 输入密码,进入root模式:

此时我们发现已经是root用户了。

第2步:修改“/etc/lightdm/lightdm.conf”文件。

此时系统提示我们没有vim编辑器,必须安装vim编辑器:

输入“Y”完成安装。

此时再次修改“/etc/lightdm/lightdm.conf”文件:

进入文件:

此时输入“i”进入插入修改模式,把文件具体修改为:

按下“esc”,输入“:wq”保存退出。

第3步:启动root帐号。

sud opasswd root

按下回车键:

此时要求输入root账号的密码,设置好即可:

重新启动系统:

在此次进入的系统界面中输入密码,单击“Login”,输入“root”账户,进行如图2-34~图2-37所示的一系列操作即可发现账户已是“root”账户。

图2-34 输入密码

图2-35 输入“root”

图2-36 输入密码登录进系统

图2-37 登录进的账户为root账户

4.安装Java

第1步:打开终端,建立新目录“/usr/lib/java”。

第2步:把下载的JDK文件移到刚刚创建的“/usr/lib/java”中。

第3步:解压JDK文件。

解压完成的文件目录:

第4步:修改环境变量。

进入配置文件:

按下“i”进入INSERT模式,把Java的环境编写信息加入其中:

按下“esc”键回到正常模式,输入“:wg”命令保存并退出配置文件。

执行以下命令使配置文件的修改生效:

第5步:在终端中显示刚刚安装的Java版本,表明Java安装结束。

2.1.3 配置Hadoop单机模式并运行Wordcount示例

1.安装SSH

Hadoop是采用SSH进行通信的,此时要设置密码为空,即不需要密码登录,这样免去每次通信时都输入密码,安装如下:

输入“Y”进行安装并等待自动安装完成:

安装SSH完成后启动服务:

以下命令验证服务是否正常启动:

可以看到SSH正常启动。设置免密码登录,生成私钥和公钥:

在/root/.ssh中生成两个文件:id_rsa和id_rsa.pub,id_rsa为私钥,其中id_rsa.pub为公钥,我们将公钥id_rsa.pub追加到 authorized_keys中,因为authorized_keys用于保存所有允许以当前用户身份登录到ssh客户端用户的公钥内容:

看看现在能否免密码登录SSH:

输入“yes”继续登录:

表明登录成功。

使用以下命令可以退出localhost:

再次登录进localhost的时候就不需要密码了:

2.安装rsync

我们的Ubuntu 12.10版本默认安装了rsync,可以通过以下命令来安装或者更新rsync:

第1步:安装Hadoop,笔者把下载下来的最新稳定版本的Hadoop保存在电脑本地的以下位置,如图2-38所示。

图2-38 Hadoop的保存方式

创建/usr/local/hadoop目录并把下载下来的Hadoop解压/usr/local/hadoop中:

第2步:在hadoop-env.sh配置Java安装信息。

进入/usr/local/Hadoop/Hadoop-1.2.1/conf:

打开hadoop-env.sh:

按下回车键即可进入该配置文件:

在前面我们Java安装在了“/usr/lib/java/jdk1.7.0_60”,此时在hadoop-env.sh配置文件加入如下配置信息保存退出即可。

使用source命令使hadoop-env.sh配置信息生效:

此时Hadoop的单机模式配置成功!

为了方便我们在开机启动后也可以立即使用Hadoop的bin目录下的相关命令,可以把bin目录配置到“~/.bashrc”文件中,此时开启启动后系统自动读取“~/.bashrc”文件的内容,就可以随时使用Hadoop的命令了:

修改后的文件内容:

保存退出,使用下面的命令使配置生效:

验证Hadoop的版本信息,使用“hadoop version”命令即可:

3.运行Hadoop自带的WordCount例子

首先在Hadoop的目录下创建一个input目录,并把conf下的所有文件复制到该目录下,需要如下命令即可:

使用Hadoop命令运行自带的wordcount程序并把结果输出到output中:

运行过程如下:

一直运行直到完成(因为运行过程有些长,中间省略了一些运行过程,只截取了开始和结束部分):

查看运行结果:

该命令执行后即显示出Wordcount运行input中若干个文件中单词统计结果,如下所示(只截取了其中一部分):

至此,单机模式的构建、配置和运行测试彻底成功!

2.1.4 配置Hadoop伪分布模式并运行Wordcount示例

伪分布模式主要涉及以下的配置信息:

(1)修改Hadoop的核心配置文件core-site.xml,主要是配置HDFS的地址和端口号。

(2)修改Hadoop中HDFS的配置文件hdfs-site.xml,主要是配置replication。

(3)修改Hadoop的MapReduce的配置文件mapred-site.xml,主要是配置JobTracker的地址和端口。

在具体操作前先在Hadoop目录下创建几个文件夹:

下面开始构建伪分布式的具体过程并进行测试。

第1步:配置core-site.xml文件。

第2步:进入core-site.xml文件。

配置后文件的内容如下所示。

使用“:wq”命令保存并退出。

第3步:配置hdfs-site.xml,打开文件。

打开后的文件:

配置后的文件:

输入“:wq”保存修改信息并退出。

第4步:修改mapred-site.xml配置文件。

进入配置文件:

修改后的mapred-site.xml配置文件的内容为:

使用“:wq”命令保存并退出。

通过上面的配置,我们完成了最简单的伪分布式配置。

接下来进行Hadoop的namenode格式化:

输入“Y”,完成格式化过程:

接下来启动Hadoop,如下所示。

使用Java自带的jps命令查询出所有的守护进程:

启动Hadoop!

接下来使用Hadoop中用于监控集群状态的Web页面(http://localhost:50070/dfshealth.jsp)查看Hadoop的运行状况,具体的页面分别如图2-39~图2-41所示。

图2-39 http://localhost:50030/jobtracker.jsp

图2-40 http://localhost:50060/tasttracker.jsp

图2-41 http://localhost:50060/tasttracker.jsp

上述Hadoop运行状态监控页面表明我们的伪分布式开发环境完全搭建成功!

接下来使用新建的伪分布式平台运行wordcount程序。

首先在dfs中创建input目录:

此时创建的文件因为没有指定HDFS具体的目录,所以会在当前用户“rocky”下创建“input”目录,查看Web控制台,如图2-42所示。

图2-42 查看Web控制台

复制文件:

复制后的“input”文件夹的内容如图2-43所示。

图2-43“input”文件夹的内容

和我们的Hadoop安装目录下的“conf”文件的内容是一样的。现在,在刚刚构建的伪分布式模式下运行wordcount程序:

运行完成后我们查看一下输出的结果:

部分统计结果如下:

此时到达Hadoop的Web控制台会发现我们提交并成功运行了任务,如图2-44所示。

图2-44 成功运行任务

最后在Hadoop执行完任务后,可以关闭Hadoop后台服务:

至此,Hadoop伪分布式环境的搭建和测试你完全成功!同时也意味着我们彻底完成了实验。 QBKXmu/ML+kTZMkKkIv2IkR9KDJt+GRT26hRQCwY5Ed9KpeATZHaLs4SfCuW7NnE

点击中间区域
呼出菜单
上一章
目录
下一章
×