国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > 互联网 > Hadoop-0.20.2安装配置

Hadoop-0.20.2安装配置

来源:程序员人生   发布时间:2014-11-14 08:33:39 阅读次数:2740次

摘要本文介绍了在VirtualBox下安装3ubuntu虚拟机,并搭建Hadoop环境的基本步骤,最后运行了Hadoop自带example中的wordcount例程。

1 实验环境

VirtualBox版本:4.3.2 r90405

ubuntu虚拟机版本:ubuntu11.04

ubuntu虚拟机jdk版本:jdk⑴.6.0_45

ubuntu虚拟机hadoop版本:hadoop-0.20.2

2 整体概述

要在单独的1台计算机上实现Hadoop多节点散布式计算,需要通过虚拟机建立多个主机,本文使用VirtualBox虚拟机搭建多节点平台。完成新建虚拟机、安装ssh、配置密钥实现无密码访问、安装jdk、安装hadoop并配置,并运行Hadoop中自带的wordcount程序来验证环境配置。

3 详细步骤

3.1 虚拟机安装

由于要同时运行多台虚拟机,斟酌到系统负载,本次实验选择的是ubuntu的初期版本10.04,下载好系统镜像文件后,打开VirtualBox,新建1个OS,经过简单的配置后1台虚拟机便建好了,然后启动虚拟机,选择镜像文件目录,经过系统选项后,系统便建好了,然后利用相同的方法再建1台,3台虚拟机分别命名为UB01UB02UB03,用户名都设置为vbox,登陆密码也都为vbox,建好后用ifconfig查看3台虚拟机的ip地址,可以看出它们的ip各不相同,且相互之间可以ping通,以下图所示,到这里就完成了虚拟机安装。

能够ping通后,再配置3台机器的别名,这样就不用通过ip互访了,打开/etc/hosts,添加内容:

223.3.77.207 UB01

223.3.73.102 UB02

223.3.85.84 UB03

对UB01按如上书写,对UB02以下,UB03则可1并推出(这里的每个ip地址都应当是ifconfig后看到的,因机而异)

设置完别名后,通过ping虚拟机别名即可ping通,结果以下图:


3.2 ssh安装及配置

仅仅能ping通还不够,为了完成份布式计算系统,需要3台机器相互之间可以无密码访问(或是master可以无密码访问slave)。首先在3台虚拟机上安装ssh-openserver:

sudo apt-get install ssh rsync

完成后,在个人目录/home/vbox/下新建.ssh文件夹,在.ssh中履行:

ssh-keygen -t rsa

系统会问你1些配置,由因而初次实验,不需要这些内容,点回车继续下去便可。完成后会在.ssh/下生成id_rsa和id_rsa.pub两个文件,3台机器做一样处理。

秘钥生成好以后我们需要把3台虚拟机的密钥相互交换,如在UB01中履行

scp ~/.ssh/id_rsa.pub UB02:/home/vbox/.ssh/id_rsa.pub.UB01

scp ~/.ssh/id_rsa.pub UB03:/home/vbox/.ssh/id_rsa.pub.UB01

上述两句的作用是把本机上的id_rsa.pub文件(UB01上密钥)复制到UB02和UB03上的相同位置,并重命名为id_rsa.pub.UB01。

对UB02和UB03做一样处理,完成后每个机器的/.ssh/中应当有3个密钥,1个是自己的,另两个是他人的,把自己的密钥连同他人的两个密钥加到授权密钥中(对UB01)

cat id_rsa.pub >> authorized_keys;

cat id_rsa.pub.UB02 >> authorized_keys;

cat id_rsa.pub.UB03 >> authorized_keys;

上述3句分别将3个密钥加到同1个授权密钥authorized_keys中。

对UB02和UB03做一样处理。这样3个机子都分别有了其它两个机子的访问权利。

接下来检验相互之间是不是可以通过ssh实现无密码访问,在终端输入(对UB01):

ssh UB02;

访问成功会显示欢迎信息,初次访问需要yes,以后就能够直接访问了,实验截图以下:

3.3 jdk安装及配置

在3台虚拟机中都要安装jdk,只需要在1台机子上安装配置,同时将jdk文件夹复制给其它两台机子,可不用各自安装。

我们选择的jdk文件是jdk⑹u45-linux-i586.bin,下载完成后把.bin包移动到个人目录/home/vbox/,履行

chmod u+x jdk⑹u45-linux-i586.bin;

sudo -s ./jdk⑹u45-linux-i586.bin;

等待安装完成,会在当前路径生成jdk目录,接下来设置环境变量,在/etc/environment中添加JAVA_HOME、CLASSPATH和PATH的值,reboot后在Terminal输入java -version会看到版本信息,证明安装成功,安装结果以下图:



3.4 Hadoop安装及配置

也是在3台机子履行一样的操作,可以在1台机子上操作了,然后复制给其它机子。

将下载到的hadoop-0.20.2.tar.gz移动到个人目录/home/vbox/,履行安装操作:

tar -xzvf hadoop-0.20.2.tar.gz                     //解压文件

会在当前路径生成hadoop文件夹,接着修改文件夹所有者:

chown vbox:vbox hadoop-0.20.2

随后把hadoop的环境变量加入到/etc/environment文件中,添加完后文件以下图:

接下来需要修改hadoop/conf/目录下的配置文件,共有6个文件需要修改,分别是masters、slaves、core-site.xml、mapred-site.xml、hdfs-site.xml、hadoop-env.sh,修改以下图:


文件hadoop-env.sh中添加JAVA_HOME变量值,设置为:JAVA_HOME=/home/vbox/jdk1.6.0_45.以上配置信息对UB01UB02UB03完全1致。

3.5wordcount程序测试

本测试用的文件为file,大小分别为128M,测试时进入/home/vbox/hadoop/目录,格式化文件系统并启动所有服务

hadoop namenode-format;

start-all.sh

开启服务后可以通过jps命令和网页查看hadoop系统情况,以下图:

建立input输入并将文件写入input

hadoop fs -mkdir input;

hadoop fs -put fileinput;              //file是文本文件的路径,上传到HDFS

履行wordcount并观察计数结果

hadoop jarhadoop-0.20.2-examples.jar wordcount input output

实验进程及结果以下图:


生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生