在日常学习、工作当中,我们经常需要用到分布式集群环境,如nacos集群,mysql集群,zookeeper集群,redis集群,大数据集群等,而通常并没有那么多的物理机器可以使用,因此,通过虚拟机搭建一套分布式集群环境以供开发和测试,是一个不错的选择。那今天我们就来尝试在Windows 10下使用VMWare搭建一套CentOS 8的集群。
准备工作
硬件环境:既然是安装虚拟机,物理机本身硬件配置最好不要太低,笔者使用的环境是Windows10 64位、i7 32G 256g SSD+ 1T硬盘的台式机。
软件安装包:VMware Workstation 16、CentOS-8.2.2004-x86_64-dvd1.iso。
安装VMware Workstation Pro 16
VMware Workstation是一款非常好用虚拟模拟机,非常强大的功能加上便捷的使用方法也就成就了它是在世界上用的最多的一款虚拟机品牌
1、到官网下载VMware Workstation Pro 16和CentOS8安装包;
2、鼠标双击运行VMware-workstation-full-16.1.0-17198959.exe开始安装;
3.进入安装界面,点击【下一步】
4.先勾选“我接受许可协议中的条款”,然后点击【下一步】
5.选择软件安装路径,默认安装在C盘,点击【更改】可修改安装路径,注意:安装路径文件夹名称均不能含有中文字符!
这里将软件安装在D盘文件夹下,然后点击【下一步】
6.先取消“启动时检查…”和“加入VMware…”前面的勾选,然后点击【下一步】
7.点击【下一步】
8.点击【安装】
9.正在安装中,这个过程大概需要1分钟左右的时间,请耐心等待…
10.安装完成,到这里VMware Workstatioin Pro就安装完成了
创建Linux虚拟机
1.点击创建新的虚拟机
2.选择自定义(高级)配置,直接点击下一步
3.在选择虚拟机硬件兼容性选择默认Workstation 16.X,点击下一步
4.选择稍后安装操作系统,点击下一步
5.客户机操作系统选择Linux,版本选择CentOS 8 64位,点击下一步
6.填写虚拟机名称,并指定虚拟机安装位置(不建议安装到C盘),点击下一步
7.处理器配置,我这里选内核数量2,可以根据需要自行修改,点击下一步
8.虚拟机内存,因为我的内存充足选择4G,,可以根据需要自行修改,点击下一步
9.设置网络类型,设置为默认的NAT,点击下一步
10.选择I/O控制器类型,这里选择默认的 LSI Logic,点击下一步
11.选择磁盘类型,这里选择默认的SCSI,点击下一步
12.这里选择创建新虚拟磁盘,点击下一步
13.磁盘容量我这里选择40G,其他默认,点击下一步
14.设置磁盘文件位置,点击下一步
15.已准备好创建虚拟机,点击完成
16.在主界面点击编辑虚拟机设置,选择下载好的CentOS8映像文件,点击确认,这样虚拟机就创建好了
设置网络模式
vmware为我们提供了三种网络工作模式,它们分别是:Bridged(桥接模式)、NAT(网络地址转换模式)、Host-Only(仅主机模式)。
打开vmware虚拟机,我们可以在选项栏的“编辑”下的“虚拟网络编辑器”中看到VMnet0(桥接模式)、VMnet1(仅主机模式)、VMnet8(NAT模式),那么这些都是有什么作用呢?其实,我们现在看到的VMnet0表示的是用于桥接模式下的虚拟交换机;VMnet1表示的是用于仅主机模式下的虚拟交换机;VMnet8表示的是用于NAT模式下的虚拟交换机。
NAT(网络地址转换模式)
这里我们使用NAT(网络地址转换模式),打开vmware,点击“编辑”下的“虚拟网络编辑器”,点击更改设置
设置虚拟机中NAT模式的选项,设置NAT参数及DHCP参数。
NAT设置
DHCP设置
安装CentOS8
1.点击“开启此虚拟机”
2.如果报错此主机支持Intel VT-x,但Intel VT-x处于禁用状态
VMware提示此主机支持Intel VT-x,但Intel VT-x处于禁用状态怎么回事?Intel VT-x完整名称是Intel Virtualization Technology,就是Intel虚拟技术,开启它可以让硬件平台同时运行多个操作系统,是虚拟机软件运行必备的技术之一,如果禁用,就会弹出“此主机支持Intel VT-x,但Intel VT-x处于禁用状态”这个提示,解决办法就是进BIOS开启Intel Virtualization Technology。可以参考此链接进行解决http://www.xitongcheng.com/jiaocheng/xtazjc_article_38955.html,不同品牌机型解决方式有所不同
3.进入系统安装页面–>选择Install CIentos8 Linux 8,稍等一会
4.语言设置,根据自己的喜好设置,我这里选择中文,点击继续
5.安装信息摘要,这里需要设置安装目的地,网络和主机名,时间和日期
进入安装目标位置界面点击完成
网络和主机名(最好开启网络,不然后期配置费劲)
设置主机名,点击应用
时间和日期,设置为亚洲/上海
设置后的界面如下,点击开始安装
安装过程中,等待时间稍长,大概10分钟,可以配置用户和密码
这里方便记忆,设置root用户密码为root,点击完成
安装完成,点击重启
设置许可证
勾选我同意许可协议,点击完成
返回初始设置界面,点击结束配置
登录用户,进入系统配置,点击前进
关闭位置服务,点击前进
在线账号,点击跳过
设置全名和用户名(后面登录用),点击前进
设置密码(后面登录用),为方便记忆,这里设置为root,然后点击前进
点击开始使用
查看网络连接,进入界面,打开终端,查看ip
测试网络
其他配置
将服务器修改为静态IP
修改为静态ip,修改BOOTPROTO和ONBOOT对应的配置
vim /etc/sysconfig/network-scripts/ifcfg-ens33
修改后重启网络
nmcli c reload ifcfg-ens33
查看防火墙状态
systemctl status firewalld
关闭防火墙
关闭防火墙
systemctl stop firewalld
设置开机不启动防火墙
systemctl disable firewalld
查看开机启动项
更换为阿里云yum源
由于国内网络原因,如果你的服务器在国内的话,在CentOS上安装一些软件速度可能会很慢,因此我们需要更改系统软件源
建议将yum源改为国内源,比如阿里云,方式如下:
yum install wget -y yum install curl -y
备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup mv /etc/yum.repos.d/CentOS-PowerTools.repo /etc/yum.repos.d/CentOS-PowerTools.repo.backup mv /etc/yum.repos.d/CentOS-Extras.repo /etc/yum.repos.d/CentOS-Extras.repo.backup mv /etc/yum.repos.d/CentOS-centosplus.repo /etc/yum.repos.d/CentOS-centosplus.repo.backup mv /etc/yum.repos.d/CentOS-AppStream.repo /etc/yum.repos.d/CentOS-AppStream.repo.backup
以上文件都需要重新命名,因为阿里云源里Centos-8.repo
包含了上述所有文件,如果按照传统手法只更改CentOS-Base.repo
这个文件 会出现一下提示
Updating Subscription Management repositories. Unable to read consumer identity This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. Repository AppStream is listed more than once in the configuration Repository extras is listed more than once in the configuration Repository PowerTools is listed more than once in the configuration Repository centosplus is listed more than once in the configuration
修改为阿里云
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
运行yum makecache生成缓存
yum clean all yum makecache
安装jdk
将jdk-8u191-linux-x64.tar.gz安装包放到/usr/local目录,解压安装包
tar -zxvf jdk-8u191-linux-x64.tar.gz
配置环境变量
vi /etc/profile
添加配置java的环境变量
JAVA_HOME=/usr/local/jdk1.8.0_191 CLASSPATH=$JAVA_HOME/lib/ PATH=$PATH:$JAVA_HOME/bin export JAVA_HOME PATH CLASSPATH
重新加载环境变量
source /etc/profile
检查安装是否成功
java -version
搭建集群环境
克隆虚拟机
创建虚拟机快照,用以备份
右键虚拟机,点击快照,然后点击拍摄快照
填写名称,点击拍摄快照,这样快照就创建完成了
关闭虚拟机,右键虚拟机,点击电源,点击关闭客户机
将虚拟机关机,右击虚拟机,单机“管理”-“克隆”
点击“下一步”
设置克隆源,点击下一步
设置克隆类型,这里选择创建完整克隆,点击下一步
设置虚拟机名称和位置,然后点击完成
克隆完成,点击关闭
按照刚才的步骤重复创建一台虚拟机slave2
克隆完成是这样的
调整测试
至此,我们一共创建了3台虚拟机,这3台虚拟机的配置都是一模一样的。因此,作为一个最基本的可用集群,我们还需要进行一些细微的调整。
我们把CentOS-8_64-slave1、CentOS-8_64-slave12这2台机器的IP分别修改为192.168.138.9
、192.168.138.10
,具体操作参考前面的修改为静态ip,修改BOOTPROTO和ONBOOT对应的配置
修改3台虚拟机的hostname。依次修改为master、slave1、slave2
hostnamectl set-hostname slave1
重启虚拟机
reboot
结果是这样的
master对应ip:192.168.138.8
slave1对应ip:192.168.138.9
slave2对应ip:192.168.138.10
master去ping slave1和slave2对应的ip都是没有问题的
至此,master和slave1,slave2的三台虚拟机的集群搭建完毕
笔者是通过MobaXterm来访问三台虚拟机,暂时没有集群间免密登录的需求,如果需求可以自行处理。