【VM虚拟机配置集群环境】以尚硅谷23年最新hadoop视频为例,遇到的虚拟机卡死,无法建立主机与虚拟机通信,以及虚拟机联网问题

项目场景:

通过vm搭建虚拟机完成hadoop的前置环境配置


问题描述

  1. 虚拟机卡死问题(开机一会后,直接卡死,cpu100%)
  2. 虚拟机与主机间无法建立通讯
  3. 虚拟机无法与ping通外网

我这里是安装b站上,尚硅谷的大数据教程(2023版)设置的ip及其配置文件
每个人的ip配置可能都不同,这里的问题及其修改只针对这个视频的配置文件


原因分析:

遇事不决直接重装

  1. 主要是软件设置和系统设置的问题
  2. vm虚拟网卡的设置问题,因为我之前禁用过这个网卡造成的这问题
  3. 其实也是vm虚拟网卡的问题,还有ip冲突问题,首先修改了/etc/resolv.conf文件,将nameserver修改为8.8.8.8114.114.114.114仍然没有网络,因此我开始修改/etc/sysconfig/network-scripts/ifcfg-ens33中的配置结果任然没有网络,然后我试图重启network结果发现重启失败,直接报错:
Job for network.service failed because the control process exited with error code. See "systemctl status network.service" and "journalctl -xe" for details.

我输入systemctl status network.service后输出

● network.service - LSB: Bring up/down networking
Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled)
Active: failed (Result: exit-code) since Sat 2023-09-16 23:50:49 PDT; 2min 33s ago
Docs: man:systemd-sysv-generator(8)
Process: 11246 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE)

Sep 16 23:50:49 node1 network[11246]: RTNETLINK answers: File exists
Sep 16 23:50:49 node1 network[11246]: RTNETLINK answers: File exists
Sep 16 23:50:49 node1 network[11246]: RTNETLINK answers: File exists
Sep 16 23:50:49 node1 network[11246]: RTNETLINK answers: File exists
Sep 16 23:50:49 node1 network[11246]: RTNETLINK answers: File exists
Sep 16 23:50:49 node1 network[11246]: RTNETLINK answers: File exists
Sep 16 23:50:49 node1 systemd[1]: network.service: control process exited, ...=1
Sep 16 23:50:49 node1 systemd[1]: Failed to start LSB: Bring up/down networking.
Sep 16 23:50:49 node1 systemd[1]: Unit network.service entered failed state.
Sep 16 23:50:49 node1 systemd[1]: network.service failed.
Hint: Some lines were ellipsized, use -l to show in full.

发现错误原因为“RTNETLINK answers: File exists”,表示存在一个网络接口或路由的冲突。然后我接着输入ifconfig -a 后输出:

ens33: flags=4098<BROADCAST,MULTICAST> mtu 1500
ether 00:50:56:21:c4:b6 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:b7:b7:57 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

virbr0-nic: flags=4098<BROADCAST,MULTICAST> mtu 1500
ether 52:54:00:b7:b7:57 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

ens33:这是以太网接口,但是根据输出,没有接收或发送任何数据包.因此我移除了ens33文件并重新写了一个ens33文件,输入ifup ens33启动ens33配置,结果输出

Error: Connection activation failed: No suitable device found for this connection.

重启虚拟机后,输入ifconfig -a后输出:

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.88.128 netmask 255.255.255.0 broadcast 192.168.88.255
inet6 fe80::250:56ff:fe21:c4b6 prefixlen 64 scopeid 0x20<link>
ether 00:50:56:21:c4:b6 txqueuelen 1000 (Ethernet)
RX packets 1945 bytes 527281 (514.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 144 bytes 14445 (14.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

这里"inet"的地址居然与我写入到ens33文件中的地址不一样,查阅资料后觉得可能是NetworkManager的问题;NetworkManager是一个在Linux系统中管理网络连接的服务。它提供了一种简化和自动化网络配置的方式,可以管理有线和无线网络接口,并允许用户轻松地切换网络连接.

解决方案:

1.虚拟机开机死机问题

在网上看了各种设置说什么加cpu核心加内存什么的,都没有改变状况,最后找到了两篇对我有帮助的文章,一是修改虚拟机和vmware软件的配置:

1.点击虚拟机设置
2.点击“选项”,选中“高级”,将“抓取的输入内容”调为“高”,并勾选设置框中的“禁用内存页面修整”
3.修改vmware设置,打开上面的“编辑” 点“首选项”,将“优先级”,右侧将“抓取的输入内容”调为“高”
修改
软件设置

二是修改系统的配置:

  1. 禁用HIV主机服务
    打开WIN+R,输入打开services.msc;下滑找到HIV服务,双击设置为禁用
    HIV
    操作
  2. 关闭Hyper-V服务
    使用管理员命令运行cmd输入bcdedit /set hypervisorlaunchtype off命令重启电脑即可

2.虚拟机无法与主机建立通讯

在按照视频设置好ens33配置文件和vmnet8的设置后,按理说是没有问题的,若出现问题,以我为例,我发现我禁用了vmnet8,导致无法建立通信,在启用后,仍然无法建立通信,尝试了多次修改配置文件后,无解,最后通过,恢复默认设置解决
默认设置
恢复默认设置后,将vmnet8的ip等按照视频设置好。在主机ping虚拟机能ping通,至此,也可以用finalshell通过ssh链接虚拟机。

3.虚拟机无法与ping通外网

通过上述分析怀疑是NetworkManager服务造成的ip冲突,输入systemctl status NetworkManger后输出

NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2023-09-17 00:44:12 PDT; 36min ago
Docs: man:NetworkManager(8)
Main PID: 8606 (NetworkManager)
Tasks: 3
CGroup: /system.slice/NetworkManager.service
└─8606 /usr/sbin/NetworkManager --no-daemon

Sep 17 00:55:11 node1 NetworkManager[8606]: <info> [1694937311.8911] device (ens33): carrier: link connected
Sep 17 01:00:17 node1 NetworkManager[8606]: <info> [1694937617.4996] ifcfg-rh: update /etc/sysconfig/ne...33")
Sep 17 01:00:17 node1 NetworkManager[8606]: <info> [1694937617.6683] audit: op="connection-activate" uu...on."
Sep 17 01:04:29 node1 NetworkManager[8606]: <info> [1694937869.7786] ifcfg-rh: new connection /etc/sysc...33")
Sep 17 01:04:29 node1 NetworkManager[8606]: <info> [1694937869.7788] ifcfg-rh: remove /etc/sysconfig/ne...33")
Sep 17 01:04:29 node1 NetworkManager[8606]: <info> [1694937869.9445] audit: op="connection-activate" uu...on."
Sep 17 01:05:30 node1 NetworkManager[8606]: <info> [1694937930.9535] audit: op="connection-activate" uu...on."
Sep 17 01:07:47 node1 NetworkManager[8606]: <info> [1694938067.4939] audit: op="connection-activate" uu...on."
Sep 17 01:10:09 node1 NetworkManager[8606]: <info> [1694938209.4059] audit: op="connection-activate" uu...on."
Sep 17 01:14:26 node1 NetworkManager[8606]: <info> [1694938466.9938] audit: op="connection-activate" uu...on."
Hint: Some lines were ellipsized, use -l to show in full

发现“NetworkManager”服务正在运行,尝试关闭服务后重启网络,输入如下指令:

systemctl stop NetworkManager
systemctl disable NetworkManager
service network restart

发现network重启成功,ipconfig -a的输出中ens33 的inet也和配置文件一致,尝试ping 百度。发现能ping通,因此问题解决。

以上仅记录我本人机器遇到的问题和我自己尝试的解决方法,如有说法不当,请大佬批评指正

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值