问题描述:
在学习hadoop的过程中,尝试安装hadoop集群的时候,总是出现莫名其妙的问题,如:虚拟机之间ping不同,访问不了互联网等等。最后,迫于无奈,配置了静态IP,但随之而来,又出现莫名的问题:虚拟机之间可以相互ping通,在本地命令行下能够ping通Slave1(IP地址在Master和Slave2之间),但是ping不同Master和Slave2,同时也连不了互联网,是不是很奇怪。针对这个问题困扰了我一个多月,其间查找了各种找资料,都没有彻底解决。可能自己筛选资料、过滤有效信息的能力不够吧,先让我哭会去……
在虚拟的实验,特别是分布式集群环境中,我们需要配置静态IP地址,我们又想上网,往往我们是二者不可兼得,但是这个感觉明显有解决的办法。在查找了大量资料后,经过各种尝试,最后总算是在设置静态IP的基础上也能够访问互联网了!下面总结一些在这个过程遇到的问题和解决的思路:
我的虚拟机总是各种连不上网,每次都要折腾一番。现在我把虚拟机连不上网的原因总体排查一下,按照流程一步步来,基本上可以解决大部分人的问题。
首先,在VMware的编辑->虚拟网络编辑器重新建立NAT网络(记得之前的静态IP信息记下来,把原来的VMnet1和VMnet8删掉,新建的同样选择VMnet1和VMnet8,并填写正确相应的设置就可以)。
如果还不能上网,在windows的服务里面,看一下
确保这三项已经打开,如果服务处于停止状态重新开启并且设置为自动运行。(注:使用360加速球优化可能会把VMware DHCP服务关闭。如果优化被360关闭吧VMware服务添加360白名单)
做完这一些需要重启虚拟机,如果还是不能连接网络的话进去windows的网络和共享中心*(控制面板)。把VMnet8的iPV4地址设置为自动获取,DNS也自动获取。(我的就是在虚拟机中设置静态IP后,把VMnet8的IPv4地址和DNS设置为自动获取)
重启虚拟机。
如果还是无法连接到网络,在虚拟机里面的系统重新新建一个以太网连接,地址设置为自动获取,使用新配置的连接去联网。
到此,虚拟机一般都可以成功连接到网络了,除非你的主系统没网。我的虚拟机就是在System eth0中配置静态IP,在Wired connection1中设置为自动获取。在启动集群时可以使用静态IP组成局域网,在下载软件时可以使用自动获取的方式联网下载。
NAT方式无法上网原因可能是由于无法启动VMware DHCP Service 服务造成的。NAT方式上网即:共享主机网络上网,自动获取IP和DNS。
windows下面VMware DHCP Service 服务没有启动,会造成NAT方式无法上网
解决方法如下:
因为虚拟网络编辑器中的DHCP项为空的时候会导致VMware DHCP Service会无法启动,手动启动报错,并自动关闭!
还有要启动DHCP Services首先要起用NAT选项卡中的Vmnet1或Vmnet8,之后才能启用DHCP Services。如果DHCP Services还是没有启动起来,就按照前面的方式把原来的VMnet设置删除,重新添加配置(我的虚拟机就是通过这种方式启动成功的)。