想利用虚拟机搭建简单的全分布式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.linuxidc.com/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地址略有不同。