Hadoop部署之虚拟机准备
Hadoop试验之虚拟机准备
配置规划
一直使用virtualbox学习Linux,大多时都用单机模式,对多台虚拟机组集群一知半解。现在需要在本地PC部署一个多节点的Hadoop集群,于是学习了下virtualbox的集中虚拟网络配置。
随后成功使用host-only模式部署好集群。相比桥接模式,host-only模式可以固定各节点ip,省去每次开机设置ip;相比内部网络模式,该模式虚拟机宿主机可以相互通信;为了使虚拟机连接外网,添加了第二块网卡,设为NAT模式。
集群节点配置思路:先安装、配置好一台虚拟机,然后使用virtualbox复制功能快速得到两台虚拟机。新复制主机需要更改ip和hostname,最后各节点生成ssh密钥对,在第一台虚拟机上配好authorized_keys文件分发到其余节点。
下面把详细配置过程写下来,以备后查。
安装centos
安装virtualbox就不赘述了,开源的软件直接下载用就好。需要注意两点,一是默认虚拟系统存放在C盘,建议在“全局设定”里更改下;二是添加配置host-only网卡,这个在后面会详细叙述。
Linux系统我使用CentOS,最小化安装。
配置第一台节点
在virtualbox软件上添加host-only网卡,该操作会在Windows创建一张虚拟网卡。在virtualbox配置网卡ip、mask,关闭DHCP服务器,该ip就是宿主机ip。
image然后虚拟机关机状态下设置“网络”选项,添加两张网卡,第一张host-only,第二张选NAT。
1.png然后开启虚拟机,root登录。配置第一张网卡vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
。第一张网卡是host-only模式。bootproto改为static,onboot改为yes,ip、netmask参考第一步创建网卡时的网段,网关和DNS不用配(因为这张网卡只负责同一网段局域网通信)。
配置第二张网卡vi /etc/sysconfig/network-scripts/ifcfg-enp0s8
。bootproto改为dhcp,onboot改为yes,ip、gateway等不用配,因为第二张网卡使用NAT模式,virtualbox会自动转发流量。
两张网卡配置文件里不能有UUID识别类的选项,方便后面快速复制虚拟机。
更改hostname: hostnamectl set-hostname centos01
。最后关闭虚拟机。
复制虚拟机
上面安装配置好模板centos01,可以做一个备份,方便今后恢复。
使用复制功能,得到centos02、centos03两台虚拟机。复制时记得选重置所有网卡MAC地址。然后开机修改两台虚拟机的hostname和网卡1的ip。
配置ssh密钥对
开启三台虚拟机。先给宿主机生成ssh密钥对。我用的PuTTy,具体过程不赘述了。
把宿主机的公钥拷到centos01:/root/.ssh/authorized_keys文件里。然后就可以用私钥无障碍访问centos01了。
然后分别在centos02和centos03上生成ssh密钥对:ssh-keygen
。把两个公钥追加到centos01上面那个文件里:ssh-copy-id root@centos01
。
把centos01的authorized_keys文件分发给另外两台虚拟机,注意路径一致。
最后在centos01上配置hosts文件:vi /etc/hosts
,写入三台虚拟机ip和hostname,分发给另外两台虚拟机。
总结
至此,三台互通的虚拟机配置完成。重点在网卡配置和模板机配置。其实还可以安装好JDK和常用软件包,然后再对模板机做复制。这样后面部署Hadoop集群时也会少一点工作。