M3 MacBook Pro 安装CentOS虚拟机——注意事项
一、前言
踩了无数坑,终于将Hadoop集群在Mac上跑了起来,以下是从选择CentOS镜像下载到连接ssh终端的注意事项,仅供参考。
二、物理机配置
型号:MacBook Pro M3max 36G
系统:macOS Sonoma 14.4.1
三、虚拟机软件
目前在Mac上可使用的虚拟机软件通常使用VMware Fusion、Parallels Desktop、UTM、VirtualBox等,本文所用为VMware Fusion。
四、CentOS
物理机的处理器为ARM64架构,所搭载虚拟机系统也要用相应版本,对于想要安装Centos 7&8来说,去CentOS官网或国内镜像源下载到的arrch64版本经测试均不可用,原因在于Centos 7&8 通常采用 64KB 的内存页,而M系列mac 的 vmware 目前只支持 4KB 的内存页,所以从根本上无法安装。要想安装只能用自行编译的4KB镜像,以下是我找到的可用修改镜像,感谢大佬!
CentOS7:
https://corefigures-wf.blog.csdn.net/article/details/131784290(我用的这个文章里的镜像)
https://blog.csdn.net/qq_24950043/article/details/122517521
CentOS8:
https://blog.csdn.net/qq_24950043/article/details/128158507
五、安装过程的避坑提示
虚拟机安装步骤几位大佬的文章内均有详细说明,在此不再赘述,仅对可能会出现的问题做出提示说明。
1、VMwareFusion界面:
网络适配器选择:Internet共享(net模式)
2、CentOS安装界面:
- 时区选到上海,同时要注意时间,可能要减几个小时
- Network & Host Name打开,若暂时打不开也没关系,之后要进入系统修改配置文件
3、网络配置:
一定要先关闭防火墙和防火墙自启动!否则终端软件可能连不上虚拟机
systemctl stop firewalld
systemctl disable firewalld.service
(1)在物理机终端查看dhcpd.conf文件,用于确定虚拟机网络配置:
cat /Library/Preferences/VMware\ Fusion/vmnet8/dhcpd.conf
如果没有找到dhcpd.conf文件,直接在Mac终端搜索它:
sudo find / -name dhcpd.conf 2>/dev/null
有一次测试发现dhcpd.conf在vmnet1文件夹下。。。,VMware出了一些bug
看到:
allow unknown-clients;
default-lease-time 1800; # default is 30 minutes
max-lease-time 7200; # default is 2 hours
subnet 192.168.175.0 netmask 255.255.255.0 {
range 192.168.175.128 192.168.175.254;
option broadcast-address 192.168.175.255;
option domain-name-servers 192.168.175.2;
option domain-name localdomain;
default-lease-time 1800; # default is 30 minutes
max-lease-time 7200; # default is 2 hours
option netbios-name-servers 192.168.175.2;
option routers 192.168.175.2;
}
host vmnet8 {
hardware ethernet 00:50:56:C0:00:08;
fixed-address 192.168.175.1;
option domain-name-servers 0.0.0.0;
option domain-name "";
option routers 0.0.0.0;
}
这段配置文件是为 VMware 虚拟网络适配器 vmnet8
设置的 DHCP 服务器配置。这个配置文件由 VMware 的配置程序自动生成,并包含了一些基本的 DHCP 设置。以下是对配置文件中的重要部分的说明:
子网配置
subnet 192.168.175.0 netmask 255.255.255.0
:定义了一个子网和它的子网掩码。range 192.168.175.128 192.168.175.254;
:指定 DHCP 服务器可以分配的 IP 地址范围。option broadcast-address 192.168.175.255;
:子网的广播地址。option domain-name-servers 192.168.175.2;
:指定域名服务器的地址。option domain-name localdomain;
:为 DHCP 客户端指定域名。option netbios-name-servers 192.168.175.2;
:指定 NetBIOS 名称服务的服务器地址。option routers 192.168.175.2;
:指定默认网关的地址。
主机配置
host vmnet8
:定义了一个名为vmnet8
的主机配置。hardware ethernet 00:50:56:C0:00:08;
:指定主机的 MAC 地址。fixed-address 192.168.175.1;
:为vmnet8
主机分配固定的 IP 地址。option domain-name-servers 0.0.0.0;
:指定该主机不使用任何 DNS 服务器。option domain-name "";
:该主机不设置域名。option routers 0.0.0.0;
:该主机没有默认网关。
(2)在虚拟机修改网络配置:
vim /etc/sysconfig/network-scripts/ifcfg-ens160
修改:
BOOTPROTO=static
#IP的配置方法,设置成静态
追加:
IPADDR=192.168.175.130
#IP地址,dhcpd.conf文件中range 192.168.175.128 192.168.175.254表明地址范围是128-254,选一个就行
GATEWAY=192.168.175.2
#网关,dhcpd.conf文件中option routers 192.168.175.2指定了默认网关
NETMASK=255.255.255.0
#子网掩码,dhcpd.conf文件中netmask 255.255.255.0定义了
DNS1=192.168.175.2
#域名解析器,可设置成和网关一样,也可设置为8.8.8.8
(3)修改虚拟机hostname
vim /etc/hostname
比如我修改为hadoop1,克隆多台记得要都改名
(3)修改Mac上hosts
hosts文件在Mac的/etc文件夹下,建议使用SwitchHosts(开源),方便修改和管理,下载地址:https://github.com/oldj/SwitchHosts/releases
192.168.175.131 hadoop1
192.168.175.132 hadoop2
192.168.175.133 hadoop3
192.168.175.134 hadoop4
192.168.175.135 hadoop5
(4)修改虚拟机hosts
vim /etc/hosts
把刚刚修改的Mac的hosts内容直接复制过去
(5)重启虚拟机
reboot
就可以愉快的操作连接了,众所周知Xshell不支持Mac端,我使用开源的Tabby,美观好用还支持中文,下载地址:https://github.com/Eugeny/tabby/releases/latest