一、前言

在日常学习、工作当中,我们经常需要用到分布式集群环境,如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
也可以下载其他版本的
通过VMware搭建分布式集群基础环境_虚拟机
更改安装路径
通过VMware搭建分布式集群基础环境_虚拟机_02
然后再配置virtual Machines的存储路径即可

然后填写秘钥:(这是vmware workstation 10密钥)

MA491-6NL5Q-AZAM0-ZH0N2-AAJ5A

到此vmware workstation 10已结安装成功了!

2、安装CentOS

安装好VMware后,就是在VMware中创建虚拟机然后安装系统了,不废话,直接上图:

2.1、新建虚拟机

通过VMware搭建分布式集群基础环境_虚拟机_03
通过VMware搭建分布式集群基础环境_虚拟机_04
通过VMware搭建分布式集群基础环境_虚拟机_05
通过VMware搭建分布式集群基础环境_虚拟机_06
通过VMware搭建分布式集群基础环境_虚拟机_07
通过VMware搭建分布式集群基础环境_虚拟机_08
通过VMware搭建分布式集群基础环境_虚拟机_09
通过VMware搭建分布式集群基础环境_虚拟机_10

2.2、在新建的虚拟机中安装CentOS系统

通过VMware搭建分布式集群基础环境_虚拟机_11
通过VMware搭建分布式集群基础环境_虚拟机_12
通过VMware搭建分布式集群基础环境_虚拟机_13
通过VMware搭建分布式集群基础环境_虚拟机_14
通过VMware搭建分布式集群基础环境_虚拟机_15
通过VMware搭建分布式集群基础环境_虚拟机_16
通过VMware搭建分布式集群基础环境_虚拟机_17
通过VMware搭建分布式集群基础环境_虚拟机_18
通过VMware搭建分布式集群基础环境_虚拟机_19
通过VMware搭建分布式集群基础环境_虚拟机_20
通过VMware搭建分布式集群基础环境_虚拟机_21
说明:
  CentOS系统安装完成后,可能会提示你安装(或更新)VMware Tools工具(解释:这个VMware Tools工具就类似于xshell,但是我们不用它自带的这个VMware Tools工具,所以不用管),可不更新。
  通过VMware搭建分布式集群基础环境_虚拟机_22

3、配置网络

CentOS系统安装完成后,可能会发现系统并未自动分配IP,外网也不通,如下图:
  通过VMware搭建分布式集群基础环境_虚拟机_23
   这是因为没有激活网卡,编辑ifcfg_ens33文件激活:
命令:

cd /etc/sysconfig/network-scripts/
vi ifcfg-ens33

通过VMware搭建分布式集群基础环境_虚拟机_24
通过VMware搭建分布式集群基础环境_虚拟机_25
ONBOOT=no 修改为 ONBOOT=yes 保存退出(注:有的该配置文件中的值是带引号的,这个没什么关系) ,然后执行命令 service network restart重启网络服务。
通过VMware搭建分布式集群基础环境_虚拟机_26
可以看出,虚拟机已经自动获取了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虚拟机的网关。
通过VMware搭建分布式集群基础环境_虚拟机_27
通过VMware搭建分布式集群基础环境_虚拟机_28
通过VMware搭建分布式集群基础环境_虚拟机_29
设置完成后,依次点击“确定”保存。

第二步:配置虚拟机网卡文件ifcfg-ens33

cd /etc/sysconfig/network-scripts/
vi ifcfg-ens33

通过VMware搭建分布式集群基础环境_虚拟机_30
如图所示,将BOOTPROTO=dhcp修改为BOOTPROTO=static,然后再添加指定的静态IP、网关等配置,修改后的整体配置如下所示:(注意:最好加上DNS1=114.114.114.114配置,不然的话,修改完静态IP以后可能会连不上外网)

修改完成保存,然后执行命令 service network restart重启网络服务。
通过VMware搭建分布式集群基础环境_虚拟机_31
可以看到,虚拟机IP已修改为指定的静态IP 192.168.3.15。 而且再次ping www.baidu,com是可以ping通的
通过VMware搭建分布式集群基础环境_虚拟机_32

最后再修改一下真实主机里的vmware虚拟网卡信息(注:修改的是VMnet8的信息
通过VMware搭建分布式集群基础环境_虚拟机_33
通过VMware搭建分布式集群基础环境_虚拟机_34
到此基本上也就配完了

回顾总结一下:我们的真实主机的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的克隆功能进行快速的扩充新的虚拟机。(克隆的前提是先将虚拟机电源关闭)

可以先创建一个快照如下所示(注:非必须操作,也可以直接跳过这一步)

通过VMware搭建分布式集群基础环境_虚拟机_35
  通过VMware搭建分布式集群基础环境_虚拟机_36
  说明: 创建快照的过程是非必须的,但是笔者还是建议创建,便于后续以及将来克隆虚拟机。

正式克隆操作如下

通过VMware搭建分布式集群基础环境_虚拟机_37
通过VMware搭建分布式集群基础环境_虚拟机_38
通过VMware搭建分布式集群基础环境_虚拟机_39
通过VMware搭建分布式集群基础环境_虚拟机_40
通过VMware搭建分布式集群基础环境_虚拟机_41
通过VMware搭建分布式集群基础环境_虚拟机_42
通过VMware搭建分布式集群基础环境_虚拟机_43
由上,我们会发现,其实克隆虚拟机还是非常方便且快速的。

7、调整测试

根据以上第6节,我们再克隆一台虚拟机,至此,我们一共创建了3台虚拟机,这3台虚拟机的配置都是一模一样的;因此,作为一个最基本的可用集群,我们还需要进行一些细微的调整。
  第一步:我们把克隆的虚拟机重命名,以方便操作(F2键)
通过VMware搭建分布式集群基础环境_虚拟机_44
 第二步:我们把CentOS7-slave1、CentOS7-slave2这2台机器的IP分别修改为192.168.3.16192.168.3.17
 通过VMware搭建分布式集群基础环境_虚拟机_45
 通过VMware搭建分布式集群基础环境_虚拟机_46
 第三步:修改3台虚拟机的hostname。依次修改为s1、s2、s3。(原来的hostname都是localhost.localdomain)使用命令 vi /etc/hostname依次修改3台虚拟机的hostname,并重启虚拟机
 通过VMware搭建分布式集群基础环境_虚拟机_47
 通过VMware搭建分布式集群基础环境_虚拟机_48
 经测试,3台虚拟机192.168.3.15192.168.3.16192.168.3.17三台虚拟机的的hostname已修改,网络互通,均可访问外网。
  至此,“通过VMware搭建分布式集群基础环境”就算基本完成了,后续,就可以在这个虚拟集群机器上搭建各种分布式集群组件了,非常便于日常学习以及开发测试。