VMware搭建分布式集群基础环境
1. 前言
在日常学习、工作当中,我们经常需要用到分布式集群环境,如zookeeper集群、redis集群、大数据集群等,而通常并没有那么多的物理机器可以使用,因此,通过虚拟机搭建一套分布式集群环境以供开发和测试,是一个不错的选择。本文讲述的,就是如何通过vmware搭建一套虚拟机集群基础环境,以便于后续搭建各种分布式组件的集群。
2.准备
1、硬件环境
既然是安装虚拟机,物理机本身硬件配置最好不要太低,否则到时虚拟机、本机都卡就尴尬了。我是用的机器是win10、i5-8300H 、16G运行,请做参考
2、软件安装包
- vmware : https://pan.baidu.com/s/1r4jf7h7UFaBVJDl8nkqXqA 提取码:
sdgi
- CentOS-7: https://pan.baidu.com/s/1skZQ2MO3V03GtA-DCwb81g 提取码:
ap1m
3.搭建环境
3.1 vmware安装
vmware
的安装不再赘述,安装包下好解压以后下一步下一步即可。
3.2 CentOS安装
安装好VMware后,就是在VMware中创建虚拟机然后安装系统了
3.2.1 创建虚拟机
打开VMware,点击创建新的虚拟机,选择自定义,下一步:
无脑下一步:
选择稍后安装操作系统:
选择操作系统版本:
输入系统名称,我们这第一台取名Linux1,下面输入自定义的路径,最好选择一个空间较大的磁盘
配置处理器和内存,根据自己电脑的情况分配!
选择网络
默认下一步:
选择创建新虚拟机磁盘:
根据自己情况分配磁盘空间,可以分大一点,这并不是分完本地磁盘就会减少,只是最大允许使用的空间
指定磁盘文件,和虚拟机存放的地址一致就行。点击完成,虚拟机就创建完成了
3.2.2 安装系统
选择安装系统:
选中刚下载的系统镜像,点击确定
开机!!!
选择CentOS回车,然后静静等待…
选择语言,点继续:
选择安装位置和软件。软件里面有很多项可选,可以选择安装可视化桌面和基本的开发环境,这样的话像什么基础的命令,jdk啥的都会默认给装好,当然需要的占用内存更大,安装更慢一些,这里我选择最小安装,后续需要啥自己再下载
点击开始安装,需要等一会,这段时间可以设置下root密码
安装完成,重启即可
输入用户名密码登录:
3.3 配置网络
cd /etc/sysconfig/network-scripts/
vi ifcfg-ens33
将ONBOOT=no
修改为 ONBOOT=yes
保存退出,然后执行命令 service network restart
重启网络服务 (遇到提示找不到命令的,自行去安装,因为是选择的最小安装所以很多命令都需要自己装)
这个时候我们执行ifconfig
命令发现,虚拟机已经自动分配了ip,但是这个ip每次虚拟机重启都会生成一个新的,这样的我们后期再做开发的时候每次修得重新配机器的地址显然太麻烦了,我们需要配置一个静态的ip:
ip必须要是宿主机的子ip,设置完成后,依次点击“确定”保存
配置虚拟机网卡文件ifcfg-ens33
。
修改完成保存,然后执行命令 service network restart
重启网络服务。
这样一台机器就配置好了,既然是集群一台机器肯定不行,我们拿三台为例演示,在虚拟上右键管理选择克隆(必须在虚拟机关机状态下):
跟第一台的位置区分开,新建一个目录
重复以上操作再复制出一台机器来,分别命名为 linux1,linux2,linux3
3.4 配置集群
做完以上操作我们可以得到三台机器,我们后两台机器是克隆来的,说明他的配置也一样,包括ip,所以
第一步: 先修改后两台机器的ip为:192.168.157.102、192.168.157.103
第二步: 给三台主机重命名为:linux1,linux2,linux3
hostnamectl set-hostname 主机名
bash ##使设置立即生效
hostname
:查看当前主机名字
第三步: 配置hosts文件
cd /ect
vi hosts
增加以下配置:
192.168.157.101 linux1
192.168.157.102 linux2
192.168.157.103 linux3
以上三台机器都做此操作
第四步: 测试三台机器网络是否互通:
在linux1上 ping linux2;ping linux3
在linux2上 ping linux1;ping linux3
在linux3上 ping linux1;ping linux2
经测试,三台机器互通且都可访问外网。VMware搭建分布式集群基础环境就算基本完成了,后续,就可以在这个虚拟集群机器上搭建各种分布式集群组件了,非常便于日常学习以及开发测试。
其实到这里还有点问题,后续使用的时候就会发现,再做一些远程分发文件等操作的时候 需要频频输入其他机器的密码,很是麻烦,所以还可以做一步 ssh免密链接:
第四步: 配置SSH免密登录:
-
切换到home目录:
[root@centos1~]# cd ~
-
查看home目录下有无隐藏路径.ssh:
[root@centos1~]# ls -al
-
若没有则创建.ssh目录,权限为700(drwx — —),若不是则修改为 700:
[root@centos1~]# mkdir .ssh [root@centos1~]# chmod 700 .ssh
-
进入.ssh目录:
[root@centos1~]# cd .ssh/
-
用rsa算法在~/.ssh目录下生成私钥id_rsa和公钥id_rsa.pub:
[root@centos1.ssh]# ssh-keygen -t rsa
-
把生成的公钥文件的内容追加到节点的authorized_keys 文件中:
ssh-copy-id master
-
三台机器都执行以下操作:
[root@centos1.ssh]# ssh-copy-id linux1
[root@centos1.ssh]# ssh-copy-id linux2
[root@centos1.ssh]# ssh-copy-id linux3
8. 测试:[root@centos1.ssh]# ssh linux2
,若不需要输入密码就连上linux2,那么就成功了
至此,VMware搭建分布式集群基础环境就搭建完毕