您的位置:首页 > 运维架构 > Linux

VirtualBox安装多个CentOs虚拟搭建集群环境

2014-01-22 17:21 711 查看

1, 安装VirtualBox和CentOs

具体过程请查看我之前的文章VirtualBox安装CentOs并通过putty连接

2, 复制多个虚拟机

通过VirtualBox的虚拟介质管理, 完整复制一个虚拟硬盘(注意此处不能通过自己复制粘贴实现),

之前存在的虚拟机为centos1, 我们用新的虚拟硬盘创建一个新的虚拟机为centos2, 但是启动后你会发现sentos2的网卡启动不了, 这是因为新建虚拟机时VirtualBox会为我们创建新的mac地址, 但我们的硬盘是从centos1复制过来的, 所以里面的配置还是centos1的mac地址,
下面我们来修改一下:

我们可以在VirtualBox网络设置里面查看到新网卡的mac地址:



或通过命令 ifconfig -a 也可以找到(eth0后面的HWaddr信息)



下面我们执行vi /etc/sysconfig/network-scripts/ifcfg-eth0, 将mac地址修改正确



然后删除之前的记录文件 rm /etc/udev/rules.d/70-persistent-net.rules,

reboot重启搞定,

此时新虚拟机就可以成功获取ip地址了(ip有虚拟机自动分配, 不一定是10.0.2.15)



此时新虚拟机可以正常上网, 然后我们再通过端口转发使用putty连接虚拟机,

3, 使虚拟机之间网络互通

目前为之, 我们已经创建了多个虚拟机环境, 但是各个虚拟机之间是无法连接的,

下面我们给每个虚拟机各添加一个网卡, 进入VirtualBox网络设置(关机下进行)

启用网卡2, 选择连接方式为host-only, 此网卡专为虚拟机之间通信使用,

之前的网卡1为nat方式, 为虚拟机通过pc访问外网使用,



添加新网卡后启动centos2 , 下面我们对新网卡进行配置,

进入 cd /etc/sysconfig/network-scripts/ 目录, 复制第一个网卡配置: cp ifcfg-eth0 ifcfg-eth1

然后编辑: vi ifcfg-eth1, 将DEVICE改为"eth1", HWADDR改为新网卡mac

(linux是通过文件来访问设备的, 此处的eth0和eth1文件各代表了我们第一和第二个网卡)



保存退出, 重启网络服务: service network restart

此时你会发现新网卡也有了ip地址等信息:

(此ip由我们pc的虚拟网卡自动分配, 不一定为192.168.56.103)



我们可以查看一下pc的虚拟网卡信息:



ip为默认为静态192.168.56.1, 也就是说VirtualBox以这张虚拟网卡为网关,

为每一个连接到此的虚拟机自动分配ip , 以实现此虚拟网卡和每个虚拟机之间的互通

为了各个虚拟机之间互相访问方便, 我们为每个虚拟机都取一个简单的主机名,

修改配置文件: vi /etc/sysconfig/network, 将其中hostname给为你想要的即可



添加ip和主机的映射关系: vi /etc/hosts, 在下面添加我们各个虚拟机ip和我们改后的主机名的对应关系

(此ip为我们第二个网卡的ip, 因为我们的虚拟机之间是通过此个网卡实现互通的)



为每个虚拟机都进行以上操作后重启网络服务: service network restart

4, 使虚拟机之间互相ssh免口令连接

分别在每个虚拟机上生成ssh密钥: ssh-keygen -t rsa

三个回车后在用户目录下生成.ssh文件夹和密钥文件id_rsa.pub



进入.ssh目录: cd .ssh , 通过密钥文件生成授权文件: cat id_rsa.pub >> authorized_keys

此时我们可以使用ssh无密码登录本机了, 测试一下: ssh h1 (h1为当前主机名)

第一次连接会有提示, 直接yes, 当命令行前缀编程[root@h3 ~]的时候说明你已经成功连接

exit命令退出ssh连接回到.ssh目录,

下面我们通过远程访问将其他虚拟机中的密钥添加到我们的授权文件authorized_keys中:

执行ssh h2 cat .ssh/id_rsa.pub >> authorized_keys, 第一次访问会有提示直接yes,

输入主机h2的密码后执行成功, 我们查看一下授权文件: vi authorized_keys



此时我们看到授权文件中已经同时拥有主机h1和h2的密钥信息,

然后我们将该授权文件远程复制到h2主机中: scp authorized_keys root@h2:.ssh/

输入密码, 执行成功, 此时当我们再执行ssh h2时也不需要输入密码了

至此, 我们的多主机互通环境搭建完成, 下面就开始安装软件了

如果你要安装jdk和hadoop等, 可以参考我之后的文章

VirtualBox+CentOs虚拟集群搭建配置hadoop环境
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐