目录
前置说明
基础工具/配置
- VMware版本: 16.2.x
- Linux系统:centos 7
前置配置
如如何创建并配置centos系统以及找不到VMnet1怎么办这些,网上教程很多,各自自行配置,这里默认已经配置好
基本vi用法(后面会用到的)
1、vi filename # 编辑文件,vi后面加上要编辑的文件名
2、i # 进入编辑界面后,按i键进入insert模式,最底下会出现相关标识
3、Esc # 退出编辑模式,按键盘左上角的Esc键
4、:wq # 保存并退出,第三步点击Esc键后,先按冒号,然后输入wq
5、:q! # 强制退出,第三步点击Esc键后,先按冒号,然后输入q!
虚拟机权限
1、找到vmware启动文件(桌面快捷方式也行),右键点击属性
2、选择兼容性,勾选以管理员身份运行此程序,然后确定
步骤一 windows网络配置
1、找到网络共享中心
2、红框为具体路径,然后点击右边更改适配器设置,进入如下页面
3、选择你所正在使用的网络,右键点击选择属性
4、点击共享,选择如图配置,VMnet1默认为仅主机模式,点击确定后一般会弹出如下图
点击是即可,该ip后面会有用
5、按win+r键,输入cmd(也可直接搜索终端或命令提示符),进入终端界面,输入ipconfig,记下自己当前网络的IP地址(宿主机IP地址,后面会用)
步骤二 虚拟机虚拟网络配置
1、选择虚拟机右键点击选择设置
2、选择仅主机模式,也可以自定义选择VMnet1(理论上一样的,不过没试过),然后确定
3、点击虚拟机的编辑,选择虚拟网络编辑器
4、上面框框选择VMnet1仅主机,下面配置如图,子网IP改成192.168.137.0,同时记得关闭使用本地DHCP服务那个选项,然后确定
步骤三 静态IP设置
1、启动centos系统,并登录进去
2、输入命令,进入相关文件夹
cd /etc/sysconfig/network-scripts
3、输入ip addr,获取自己网卡名称,WLAN为ens33(如图),有线或其它自己试
4、然后编辑网卡配置,先输入命令 ls 查看目录下文件,查找自己网关名字相关的配置文件并编辑
ls
我的网卡是ens33,选择编辑第一个文件
vi ifcfg-ens33
4、进入编辑文件页面,如图配置
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.137.100
GATEWAY=192.168.137.1
NETMASK=255.255.255.0
BOOTPROTO: 值改为static,即为使用静态IP
ONBOOT: 设置为yes表示系统启动时自动启用该网络接口
IPADDR: 分配的静态IP地址,自己设置,确保唯一且在自己的IP地址网段范围内
GATEWAY: 网关地址
NETMASK:子网掩码
5、进入 etc 文件夹,编辑resolv.conf文件(DNS配置)
cd /etc
vi resolv.conf
6、重点!输入nameserver,后面接上自己宿主机的IP地址,图中前两个可不加
nameserver ip地址 # DNS服务器地址,设置为自己宿主机的ip
然后保存文件并退出
7、输入重启网络服务命令
systemctl restart network
输入ip addr,可以看到静态IP设置成功了
8、输入命令,ping一下百度看看是否成功能连上网
ping www.baidu.com
ping 8.8.8.8 # ping域名可能解析不成功,就可以直接ping这个网址
只要有一个包接受成功就算成功了,有一定的丢包率可能是网络不好
到此,虚拟机网络配置和静态IP算是配好了
步骤四 集群安装配置
1、进入etc目录
cd /etc
2、编辑hostname文件,直接将主机名写入,然后保存并退出
vi hostname
3、输入如下命令
hostname # 验证主机名,检查是否生效
hostname node1 # 若未生效,再执行该命令,临时修改主机名
4、修改host映射文件
vi hosts
添加如下配置(IP地址和主机名以实际的为准):
192.168.137.2 node1
192.168.137.3 node2
192.168.137.4 node3
5、关闭虚拟机,并按如下步骤克隆虚拟机
内存足够大不在乎的也可以选择创建完整克隆
改一下名称和位置,位置建议放在D盘或E盘(只要不是C盘就行)且路径不要带有中文字符,容易出bug
然后点击完成,等待新的出来后,把原来的虚拟机也启动,方便后面ping
3、新虚拟机登录进去后,进入network-scripts目录编辑网卡配置
cd /etc/sysconfig/network-scripts
vi ifcfg-ens33 # 根据自己的实际情况来操作
将IPADDR修改为上面host映射文件中的非原虚拟机ip的另一个ip,并修改hostname文件将主机名修改为对应主机名
cd /etc
vi hostname
# 修改完成后
hostname node2 # 根据自己实际情况操作
hostname # 查询修改是否生效
4、使用ping命令检查相互之间的IP或主机名是否能ping通
- 宿主机
- node1
- node2
至此算是完全成功了,后续其它节点配置如上类似操作即可
PS:遇到的问题及解决方法
我在操作过程中遇到最大的问题就是在设置静态IP那一个步骤,参照了网上各种教程,但是无论怎么操作都连不了外网,ping不通百度等网站,即便是加上了公共DNS 8.8.8.8等也无济于事。
后面问了ai才知道,原因可能是仅主机模式的网络隔离,仅主机模式下,虚拟机与宿主机之间形成一个封闭的私有网络。虚拟机无法直接连接互联网,因此请求公共DNS(如 8.8.8.8)会被限制在局域网内,无法到达外部服务器。
而虚拟机如果将DNS设置为宿主机的IP,DNS请求会先发送到宿主机。宿主机利用自身的网络连接(如Wi-Fi/以太网)代为解析DNS,再将结果返回给虚拟机。这相当于宿主机充当了“DNS代理”。
如有不足之处,还请多多指教
有懂的兄弟,也可以详细讲讲原理