虚拟机搭建hadoop的全分布式集群-in detail(1)


想利用虚拟机搭建简单的全分布式Hadoop集群,看到一篇博文写的非常好,参照操作的过程中有一些细节值得更详细的记录下来。这篇博客主要记录安装前的配置工作,因为比较菜鸟,所以详细到啰嗦。

首先把参考的博文列出来:http://blog.csdn.net/u014078192/article/details/26980991

软硬件配置:

x86台式机(内存4G, 可以开三个虚拟机),window7  64位系统

虚拟机VirtualBox

CentOS6.5操作系统

以上是安装Hadoop的软硬件配置,下面两个这篇博客中还用不到,博主还在钻研中。。。

hadoop-1.1.2.tar.gz
jdk-6u24-linux-i586.b

下面就是详细的配置过程了。

一、虚拟机的创建和拷贝

1、在VirtualBox下创建CentOS6.5操作系统

CentOS的下载地址为http://www.centos.org/  

在VirtualBox新建虚拟电脑,名称为CentOS6.5-Master 操作系统类型选择Linux 版本为RadHat(64bit)

虚拟电脑内存大小设置为1024M

创建新的虚拟硬盘,类型为VDI 虚拟硬盘选择固定大小,设置为40G, 这里新创建的虚拟硬盘选择存放路径为D:\VirtualMachine\Master

安装过程可以参考《鸟哥的Linux私房菜》尤其是对硬盘的分区

这里在安装过程中创建了一个新的普通用户,用户名sunnie 密码19830304

2、虚拟机的拷贝

为了节省时间,可以直接拷贝上面的CentOS6.5操作系统,创建另外两个新的虚拟电脑,拷贝过程如下:

创建一个新的文件夹D:\VirtualMachine\Slave1, 将上面创建的虚拟硬盘D:\VirtualMachine\Master\CentOS6.5-Master.vdi复制到该文件夹中,并修改名称为CentOS6.5-Slave1.vdi

打开CMD命令行,切换到VirtualBox的安装目录,我装在E盘,所以要切换到E:\Program Files\Oracle\VirtualBox目录下

输入命令VBoxManage internalcommands sethduuid D:\VirtualMachine\Slave1\CentOS6.5-Slave1.vdi 可以看到UUID changed to: ac6bec79-7b98-41e4-9d38-7561b1d38acc 说明虚拟硬盘的UUID分配成功,接下来就可以用D:\VirtualMachine\Slave1中的CentOS6.5-Slave1.vdi创建另一台虚拟电脑了

在VirtualBox中新建名称为CentOS6.5-Slave1 的虚拟电脑,使用已有的虚拟硬盘D:\VirtualMachine\Slave1\CentOS6.5-Slave1.vdi  这样就复制好另一个虚拟电脑

重复上述方法,复制出第三台虚拟电脑,名称为CentOS6.5-Slave2

二、虚拟机的网络配置

经过上面虚拟机的创建和复制,现在VirtualBox中存在三个虚拟电脑,名称分别为CentOS6.5-Master 、CentOS6.5-Slave1和CentOS6.5-Slave2下面对它们进行IP地址和主机名的配置,目标是使这三台虚拟机能相互ping通。

1、网卡的设置

这里以CentOS6.5-Master的配置为例。首先关闭虚拟机。在VirtualBox中选中CentOS6.5-Master, 设置其网络连接方式为桥接网卡

root用户身份虚拟机CentOS6.5-Master进行网卡设置。VirtualBox进行虚拟机复制的时候,网卡编号会发生变化,这里先将网卡编号改回eth0。修改过程见http://www.linuxboy.net/Linux/2012-09/70025.htm

 首先 修改70-persistent-net.rules文件。vim /etc/udev/rules.d/70-persistent-net.rules 将前面出现的PCI device配置信息注释掉,保留最后一个,记录其MAC地址,并修改NAME=“eth0"

然后修改网卡的配置信息。 vim /etc/sysconfig/network-scripts/ifcfg-eth0  把HWADDR的值改为上一步中记录的MAC地址。这样网卡编号就改回了eth0

2、IP地址和主机名的配置

三台虚拟机的主机名和IP地址配置如下:

虚拟机名称 主机名 IP地址
CentOS6.5-Master Master 192.168.1.110
CentOS6.5-Slave1 Slave1 192.168.1.111
CentOS6.5-Slave2 Slave2 192.168.1.112

首先配置IP地址,同样以CentOS6.5-Master为例,配置过程如下:(详细内容参考http://blog.csdn.net/ei__nino/article/details/7641183)

打开System->Preference->Network  connections 设置IPv4 settings. Method选择Manual, 添加IP地址192.168.1.110 网关为192.168.1.1 设置完成后点击apply应用

vim /etc/sysconfig/network-scripts/ifcfg-eth0打开网卡的配置文件,在其中添加

IPADDR=192.168.1.110
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
BOOTPROTO=static

然后配置主机名

输入命令vim /etc/sysconfig/network, 修改以下内容

NETWORKING=yes
HOSTNAME=Master

最后解析IP

输入命令vim /etc/hosts, 修改以下内容


其中第一行为自身IP地址的映射,127.0.0.1 还有个后面的localhost.localdomain localhost4 localhost4.localdomain4都代表本机

192.168.1.111和192.168.1.112分别可以映射到主机名Slave1和Slave2

以上配置完成后reboot重启,配置生效。另两台虚拟机CentOS6.5-Slave1和CentOS6.5-Slave2分别按照上述步骤进行配置,相应主机名和IP地址略有不同。

最后测试三台虚拟机可以相互ping通,搭建Hadoop全分布集群的第一步就大功告成了~





相关内容