详细 完整分布模式安装hadoop VirtualBox 3虚拟机

基础设备

宿主机器:

CPUIntel® Core™ i5-2400 CPU @ 3.10GHz

内存:4G

硬盘:500G

操作系统:Win7 32Bit

Linux 版本:

CentOS-6.2-x86_64-minimal.iso

虚拟机版本

VirtualBox 4.2.0 RC1

计划安装3CentOS虚拟机,实现完整分布式模式。

h1,h2,h3 分别内存为512M,硬盘容量为20G。


虚拟机配置

新建虚拟机。

内存预先设置为1G,安装完成后调整为512M1G以上内存方可使用GUI安装。

加载ISO光盘镜像。

 

网络方式使用 桥接网卡 最为简单。

具体介绍:http://www.douban.com/group/topic/15558388/

配置完成后,直接启动该虚拟机。

跳过光盘检测。

下面是配置键盘与语言等选项,一路next下去,注意网络配置画面。

 

分区配置。

然后配置管理员密码等。

完成安装,重新启动虚拟机。

正常登录后,在shell命令中,输入uname –r,查看Linux版本内核。

 

输入ifconfig eth0 查看是否正常获取IP地址,使用ping命令确认能否上网。

 

使用yum update -y命令将系统更新。(163下载的ISO自动在163的镜像上下载。)

时间较长!

使用yum install –y wget 将下载工具安装。

彻底关闭Linux中的Iptables

命令行中:service iptables stop && chkconfig iptables off

 

一般linux中都已经开启了ssh功能。

下载随意windows下的ssh客户端,例如:XshellSecureCRT、PuTTY 、Xmanager等。

登录后,使用此命令下载JAVA JDK

[root@h1 ~]# wget http://210.75.11.10/ jdk-7u7-linux-x64.rpm

[root@h1 ~]# rpm -ivh jdk-7u7-linux-x64.rpm

安装JAVA JDK

 

配置系统环境变量。

[root@h1 ~]# vi /etc/profile

添加

JAVA_HOME=/usr/java/jdk1.7.0_07

PATH=$PATH:$JAVA_HOME/bin

CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar

export PATH JAVA_HOME CLASSPATH

[root@h1 ~]# java –version 测试是否成功。

新增运行的hadoop用户,并配置密码。

 

grid 添加到管理员组。

 

接下来,关闭本虚拟机。

halt –p


复制虚拟机

复制h1

C:\Program Files\Oracle\VirtualBox>VBoxManage clonehd "D:\Linux\CentOS\h1.vdi" "D:\Linux\CentOS\h2.vdi"

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

Clone hard disk created in format 'VDI'. UUID: 74a09b9d-c4d8-4689-9186-87e34e4b5265

复制h3

C:\Program Files\Oracle\VirtualBox>VBoxManage clonehd "D:\Linux\CentOS\h1.vdi" "D:\Linux\CentOS\h3.vdi"

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

Clone hard disk created in format 'VDI'. UUID: 110c9759-c9c3-4867-9721-3633dfe02384

将虚拟机文件添加到VirtualBox内。命名分别为h1h2h3

 

分别登录3台虚拟机内,将IP地址与hostnamehosts修改正确,使之能互相ping通。

192.168.3.230 h1

192.168.3.231 h2

192.168.3.232 h3

vi /etc/hosts

复制的h2 h3同样要做以下修改。

vi /etc/sysconfig/network

命令行中输入hostname=h2 立即生效。

修改IP地址。

vi /etc/sysconfig/network-scripts/ifcfg-eth0

直接修改配置文件IPADDR和 HWADDR(抄VBOX上的MAC地址)还不能使网卡变更。

最简单的解决办法是直接删除70-persistent-net.rules配置文件

rm -fr /etc/udev/rules.d/70-persistent-net.rules

reboot

重启系统就ok了,系统会自动生成一个新的。

配置ssh互信

分别启动h1h2h3虚拟机,互相ping确认是否能通。

然后分别使用grid用户,正常登录每台机器执行生成密钥命令。

ssh-keygen –t rsa

回到h1主机上,使用跨主机的管道和重定向将h2,h3主机上的公钥id_rsa.pub添加到h1上的authorized_keys文件中。

 

分别将通过

ssh h2 cat ~/.ssh/id_rsa.pub && ssh h3 cat ~/.ssh/id_rsa.pub

添加到

authorized_keys

完成后,authorized_keys文件变成了三大段。

然后分别scp 复制到h2,h3机器中。

scp authorized_keys grid@h2:~/.ssh/

验证成功。

SSH互信配置完成。


配置hadoop下载hadoop

回到h1虚拟机内,使用wget 命令下载hadoop 0.20。(如果没有安装wget可以yum install –y wget安装。)

wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-0.20.2/hadoop-0.20.2.tar.gz

使用Xshell操作会简便很多,可以在windowslinux间复制。

 

解压hadoop

[grid@h1 ~]$ tar zxvf hadoop-0.20.2.tar.gz

分别修改core-site.xmlhdfs-site以及mapred-site.xml

:wq保存退出。

[grid@h1 conf]$ vi mapred-site.xml

:wq保存退出。

[grid@h1 conf]$ vi hdfs-site.xml

:wq保存退出。

配置hadoop-env.sh文件

再次确认java jdk安装在/usr/java/jdk1.7.0_07目录下面。

[grid@h1 conf]$ vi hadoop-env.sh

:wq保存退出。

修改mastersslaves文件

 

分别存盘退出。

向各节点复制hadoop目录

[grid@h1 ~]$ scp -r hadoop-0.20.2 h2:~/

[grid@h1 ~]$ scp -r hadoop-0.20.2 h3:~/

格式化分布式文件系统

格式化成功。

启动守护进程

 

输入一次yes后,无需再输入。

检测守护进程启动情况

[grid@h1 hadoop-0.20.2]$ /usr/java/jdk1.7.0_07/bin/jps

jps工具查看java进程。

至此,hadoop完整分布式模式安装完成。

posted on 2012-09-01 17:13  Vovolie  阅读(10520)  评论(1编辑  收藏  举报

导航