配置虚拟机网络是搭建Hadoop集群的关键一步,但是这里很容易出现故障,为此,这篇博客介绍了几种常见ping异常的解决方法
Ⅰ,虚拟机与虚拟机不相通
我们在测试网络的时候,首先需要测试能不能连接到同一网段的虚拟机,比如我的伪分布式集群有三个机器(master:192.168.0.2 ,slave :192.168.0.3,slave2:192.168.0.4),我在master中执行ping 192.168.0.2
,若是ping不到,
1,查看网卡配置,是否填错ip
vi /etc/sysconfig/network-scripts/ifcfg-ens33
2,查看是否关闭虚拟机防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
Ⅱ,虚拟机与物理机不相通
我的物理机IP为192.168.0.1
我在master中执行ping 192.168.0.1
正常情况是可以ping通的,但如果失败,问题一般出现在这些地方
一,未关闭物理机防火墙
这个是什么原因呢?虽然说VMware自带桥接模式,但是还是会被防火墙拦住,如果虚拟机可以互相ping通但ping不了物理机,多数情况是物理机防火墙惹的祸
怎么解决呢?
很简单,关了防火墙,或者让防火墙允许ping
二,虚拟机网段与物理机不同
如果如下图一般,出现 Destination Host Unreachable
那我们去检查一下IP地址吧,虚拟机的网卡IP,虽说不能和物理机的IP完全相同,但是网段是需要一致的,比如主机IP是192.168.1,虚拟机就不只能是192.168.1.X,ip地址前三位需要匹配
Ⅲ,物理机和虚拟机互通,但是不能联网
这个问题原因一般是以下几种
一,适配器服务选少了
查看适配器的属性,VMware Bridge这个服务必须要有,不然不能提供桥接服务
二,没重启网卡
有时候有些服务需要重启网卡才能生效
三,适配器本身没网
目前网上的很多hadoop安装博客还有一些大数据教材在安装集群时,都是使用回环适配器来做网卡,因为回环适配器本身是一个虚拟网卡,就算没网我们也可以利用他来进行一些学习,对于新手来说,这就提供了很大便利,但是在继续学习之后,在我们需要使用网络时,就会导致一个问题——它本身是不联外网的(实际上可以,但实施起来比较麻烦)。当我们要联网的时候,回环适配器就变成了鸡肋。
那这个问题怎么解决呢?给回环适配器联网吗?其实有个更简单的方法,就是利用还没使用的VMnet0桥接我们平时上网的网卡,
这里我们需要把我们的网卡设置成静态IP,怎么设置呢?(如果是自己本来就是静态IP可以直接跳过此段)
打开适配器界面
我们打开cmd,输入ipconfig/all
在弹出的界面中找到自己联网的适配器IP属性,记住框框里这几个
再打开适配器界面
按照框内属性输入
保存并退出,之后打开虚拟机,
把hosts的ip信息改成自己的ip网段
把所有机器网卡中的ip信息改成自己的ip网段
重启网卡 service network restart
再把回环网卡的IP网段修改一下,没网的时候就换成VMnet2,贼快乐
啥都做了,就是不行呀
这里介绍一个简单粗暴,不需要脑子的办法
可以看到,现在我的slave网络没网,
在界面打开链接属性,
改之后等待一段时间就可以了,如果没有反应,断开连接再重连,过几次就可以了,不过要注意,若是用了这个方法,想要换回回环适配器,就需要把获取方法改回手动,否则回环适配器连接会出错
还是没网
根据常理,这种情况就需要看看其他博客,然后自己瞎弄乱琢磨,改错十几个小时就会自己莫名其妙可以了