在日常学习、工作当中,我们经常需要用到分布式集群环境,如zookeeper集群、redis集群、大数据集群等,而通常并没有那么多的物理机器可以使用,因此,通过虚拟机搭建一套分布式集群环境以供开发和测试,是一个不错的选择。本文讲述的,就是如何通过vmware搭建一套虚拟机集群基础环境,以便于后续搭建各种分布式组件的集群。
二、安装准备1、硬件环境
既然是安装虚拟机,物理机本身硬件配置最好不要太低,否则到时虚拟机、本机都卡就尴尬了。笔者测试安装的
环境是Windows7 64位、I3 6代12G内存台式机。
2、软件安装包
vmware workstation 12、CentOS-7-x86_64-DVD-1611.iso、jdk-8u172-linux-x64.tar.gz。
1、安装VMware
一、先下载VMware-workstation-full-10.0.0-1295980
也可以下载其他版本的
更改安装路径
然后再配置virtual Machines的存储路径即可
然后填写秘钥:(这是vmware workstation 10密钥)
MA491-6NL5Q-AZAM0-ZH0N2-AAJ5A
到此vmware workstation 10已结安装成功了!
2、安装CentOS
安装好VMware后,就是在VMware中创建虚拟机然后安装系统了,不废话,直接上图:
2.1、新建虚拟机
2.2、在新建的虚拟机中安装CentOS系统
说明:
CentOS系统安装完成后,可能会提示你安装(或更新)VMware Tools工具(解释:这个VMware Tools工具就类似于xshell,但是我们不用它自带的这个VMware Tools工具,所以不用管),可不更新。
3、配置网络
CentOS系统安装完成后,可能会发现系统并未自动分配IP,外网也不通,如下图:
这是因为没有激活网卡,编辑ifcfg_ens33
文件激活:
命令:
cd /etc/sysconfig/network-scripts/
vi ifcfg-ens33
将ONBOOT=no
修改为 ONBOOT=yes
保存退出(注:有的该配置文件中的值是带引号的,这个没什么关系) ,然后执行命令 service network restart
重启网络服务。
可以看出,虚拟机已经自动获取了IP 132.126.3.128 ,已经可以连接外网了(如果不能连的话,就重启虚拟机再试试)。 注意:关闭防火墙
注意:我们的真实主机的IP地址是132.126.3.68,真实主机所在的网关是132.126.3.254 虽然如此,但是我们给虚拟机配置IP和网关的时候可以随意配(解释:因为这都是虚拟的,所以不必和真实主机的网段一样),不能和真实主机所在的IP网段重复,否则会不成功的!!!!
比如在本例中,我们给虚拟机自定义的网关为192.168.3.1
4、配置静态IP
以上我们已经动态获取了虚拟机的IP,但动态IP可能会随着虚拟机的重启而发生变化,特别是存在多台虚拟机都动态获取IP时,不太利于我们的开发和测试,因此,统一配置静态IP是有必要的。
第一步:设置VMware虚拟机的网关。
设置完成后,依次点击“确定”保存。
第二步:配置虚拟机网卡文件ifcfg-ens33
。
cd /etc/sysconfig/network-scripts/
vi ifcfg-ens33
如图所示,将BOOTPROTO=dhcp
修改为BOOTPROTO=static
,然后再添加指定的静态IP、网关等配置,修改后的整体配置如下所示:(注意:最好加上DNS1=114.114.114.114
配置,不然的话,修改完静态IP以后可能会连不上外网)
修改完成保存,然后执行命令 service network restart
重启网络服务。
可以看到,虚拟机IP已修改为指定的静态IP 192.168.3.15
。 而且再次ping www.baidu,com
是可以ping通的
最后再修改一下真实主机里的vmware虚拟网卡信息(注:修改的是VMnet8的信息
)
到此基本上也就配完了
回顾总结一下:我们的真实主机的IP地址是132.126.3.68,真实主机所在的网关是132.126.3.254 虽然如此,但是我们给虚拟机配置IP和网关的时候可以随意配(解释:因为这都是虚拟的,所以不必和真实主机的网段一样),不能和真实主机所在的IP网段重复,否则会不成功的!!!!
比如在本例中,我们给虚拟机自定义的网关为192.168.3.1
5、安装JDK
JVM是Java体系中的一个基础环境,所以也有必要配置一下,方便后续克隆机器环境;当然如果不是java体系的,可略过此步骤。
具体关于JDK的安装,就和普通CentOS系统安装JDK一样,这个比较普遍,此处不再赘述。
6、克隆虚拟机
以上,我们已经创建了一台虚拟机,并且配置好了静态IP、JDK等基础环境(当然,如有需要,也可自行另外配置其它相关环境),那么,如果说我们还需一台或者说多台虚拟机的话,我们需要重新再来一遍吗?
如果真是这样,那真是一个痛苦的事情了!显然,不需要每新建一台虚拟机就重新来一遍,我们可以通过VMware的克隆功能进行快速的扩充新的虚拟机。(克隆的前提是先将虚拟机电源关闭)
可以先创建一个快照如下所示(注:非必须操作,也可以直接跳过这一步)
说明: 创建快照的过程是非必须的,但是笔者还是建议创建,便于后续以及将来克隆虚拟机。
正式克隆操作如下
由上,我们会发现,其实克隆虚拟机还是非常方便且快速的。
7、调整测试
根据以上第6节,我们再克隆一台虚拟机,至此,我们一共创建了3台虚拟机,这3台虚拟机的配置都是一模一样的;因此,作为一个最基本的可用集群,我们还需要进行一些细微的调整。
第一步:我们把克隆的虚拟机重命名,以方便操作(F2键)
第二步:我们把CentOS7-slave1、CentOS7-slave2这2台机器的IP分别修改为192.168.3.16
、192.168.3.17
第三步:修改3台虚拟机的hostname。依次修改为s1、s2、s3。(原来的hostname都是localhost.localdomain
)使用命令 vi /etc/hostname
依次修改3台虚拟机的hostname,并重启虚拟机。
经测试,3台虚拟机192.168.3.15
、192.168.3.16
、192.168.3.17
三台虚拟机的的hostname已修改,网络互通,均可访问外网。
至此,“通过VMware搭建分布式集群基础环境”就算基本完成了,后续,就可以在这个虚拟集群机器上搭建各种分布式集群组件了,非常便于日常学习以及开发测试。