使用Windows的WSl开发,那么可以同时兼顾办公软件和开发环境的需求,但是启用WSL需要开启Hyper-V,会和Vmware等传统虚拟化平台冲突,如果需要模拟集群,就得寻找其他方案。好在Hyper-V本就是虚拟化平台,可以直接创建虚拟机。
1.启用Hyper-V管理器首先我们需要Hyper-V管理器,在windows家庭版中并没有这个软件,需要执行以下脚本创建:
pushd "%~dp0"
dir /b %SystemRoot%servicingPackages*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%servicingPackages%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
在任意位置创建一个Hyper-V.bat文件。复制脚本到这个文件中,然后鼠标右键该文件,选择以管理员身份运行,windows会自动安装Hyper-V相关软件,安装完成后需要用户键入y,键入后计算机会重启。重启后即可搜索到Hyper-V管理。
打开Hyper-V管理器,选择本地服务器,也就是计算机的名称,
选择虚拟交换即管理器,看到如下页面
默认情况下只有Default Switch交换机,如果启动了WSL则会有WSL交换机。点击页面右边虚拟交换机类型中的内部,然后点击创建虚拟交换机,填入自己喜欢的名称,再点击应用即可。
这个新建的交换机,虚拟机需要通过这个新建的交换机访问外部网络。进入控制面板-网络和Internet-网络连接。可以看到我们新建的网络vEthernet(BD)和计算机本地使用的wifi网络WLAN
按住ctrl,使用鼠标点击这两个网络,点击鼠标右键,点击桥接
这样,后续加入到这个虚拟网络中的虚拟机都会被分配一个和主机相同网段的ip,用于外部访问。
但是如果我们的主机会经常在不同的网段中移动,那么会导致虚拟机的ip跟着一起变动,对于hadoop这类集群的测试会很不友善,所以我们还需要一套固定的内网ip。
按上面创建虚拟交换机的步骤,我们再创建一个名为internel的交换机,这个交换机不需要加入到网桥中。在网络选择中找到新建的虚拟机,鼠标右击该网络,点击属性、双击Internet协议版本4。
按如下设置:
这里我们设置了虚拟机内网的网段为10.0.0.*,也可以设置为其他自己喜欢的网段。
现在我们有了两台虚拟交换机。
在Hyper-V管理器页面,点击右侧的新建,选择虚拟机。
看到如下创建页面
点击下一页,给虚拟机起个幽媚的名字。
再点击下一页,选择第二代(第一代也行啦)。
继续点击下一页,根据虚拟机的用途设置需要的内存。
接着点击下一页,这里随便选个我们刚创建的网络就行。
后面安装选项选择计算机上下载好的系统镜像,我这里选的是CentOS8.4。
完成后就可以看到我们创建的虚拟机
鼠标右击我们创建的虚拟机,选择设置
看到如下页面
首先,我们在添加硬件选项中,选择网络适配器,并添加。然后选择新添加的网络适配器,设置为我们创建的另一个虚拟交换机。
这时候就可以准备安装系统了,但是如果你也选择和我一样的CentOs8*-boot镜像的话,那么你可能还需要下载一个CnetOS8*-dvd镜像,并通过DVD驱动挂载给虚拟机。选中SCSI控制器,选择DVD驱动器并添加,点击新添加的DVD驱动器,指向计算机上的DVD镜像
最后需要把安全中的启用安全启动取消掉。配置好后,点击确定。
配置完成后,双击虚拟机,即可看到启动页面
点击启动,即可开启正常的CentOs安装流程,这里就不展开,可以参考其他Cent安装教程。
安装完成后,键入ifconfig命令,可以看到虚拟机中有两张网卡,分别是我们创建的两台虚拟交换机中的网络。
先把/etc/sysconfig/network-scripts中的两个网络脚本中的BOOTROTO设置为dhcp,ONBOOT设置为yes,然后重启网络:systemcel restart NetworkManager
再把分到10.0.0.*网段的网卡配置文件按下面设置为静态IP
再次重启网络systemcel restart NetworkManager即完成了虚拟机的网络设置。
重复上面的步骤即可创建出多台虚拟机,可以搭建测试用的集群。



