目录
由于最近装了新的主机准备搭建hadoop3.1.4的环境,但由于环境搭的经验不足,今天突然遇到一系列的问题和大家分享一下:
所见的问题
问题一:Xshell连不上我建的hadoop主机
问题二:电脑主机过一会儿会突然识别不到网络
问题三:主机之间能相互ping通但ping baidu.com就不能ping通
问题四:将ssh密钥分发到各个主机时显示端口连接拒绝,如下图ERROR: ssh: connect to host master port 22: Connection refused
解决办法
如果你遇到了和我类似的问题可以采用我的原地重开大法,从零开始设置网络配置。
这里需要提一嘴的是我这里有一个特殊情况,由于不知道为什么我的主机突然无法正常上网,所以我将我主机的ip设置成了固定的ip和dns才能正常上网(其实是因为我之前设置的虚拟机网段占用了主机网段),如果你的主机也设置成了固定ip和dns建议改成自动获取ip和dns("打开网络或Internet设置" --> 更改适配器选项 --> 以太网 --> 属性 --> Internet协议版本4(TCP/IPv4) --> 将两个单选框选择自动获取(如下图)),如果没有改过主机的Internet协议版本4可以直接跳过。
1.重置网络
首先,我们需要打开VMware的虚拟网络编辑器(编辑 --> 虚拟网络编辑器)
打开虚拟网络编辑器后点击新窗口右下角的更改设置
然后点击左下角的还原默认设置,等待它还原完毕
2.记录IP,网关,子掩网码信息信息
完成上一步后,选择如下图的VMnet8 NAT模式这一项,我们看看虚拟机默认给我们的网段是多少,这里需要我们记住子网IP和子网掩码(待会儿要用到),然后我们点击右下角的DHCP设置
进入DHCP设置后,如下图,需要我们记录一下其实IP,因为我们的hadoop主机的ip设置最好在这个范围内,前三个字段不变,只有最后一个字段改变,即IP范围为128 - 254,记录好后我们关闭DHCP设置
接下来,我们点击右侧靠中间位置的NAT设置
记录这里的网关IP,至此,我们拿到了虚拟机重置网络后给我们的IP,子掩网码和网关。
3.配置vmnet8
点击桌面右下角的网络图标,点击网络和Internet设置
点击更改适配器选项
选择如图的VMnet8的图标双击打开
点击属性
双击如下图的Internet协议版本4(TCP/IPv4)
首先选择使用下面的IP地址和使用下面的DNS服务器地址,然后将我们刚刚记录的IP地址,子掩网码和网关填入对应位置(这里需要提一嘴,虚拟机给我们的IP地址主机号都是0,这里建议改成1,即IP的最后一位将0改为1将其填入),DNS服务器地址和我用一样的就行,114.114.114.114是阿里的DNS服务器,8.8.8.8是谷歌的DNS服务器。
至此,vmnet8的配置完成了,接下来需要我们进入hadoop主机进行文件修改和ip映射。
4.修改hadoop主机文件
首先通过su命令切换到root用户,因为我们接下来需要修改文件,普通用户没有权限(提示:密码输入是不会显示的,和你登录的普通用户的密码是同一个密码)。
su
切换到root用户后通过vim命令编辑网络配置文件,这行命令后面的路径是固定的,因为修改的是自带的配置文件:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
首先修改BOOTPROTO的属性,改为static,其次是添加最后四行代码,IPADDR代表你们为该hadoop主机设置的IP,GATEWAY对应我们刚刚在vmnet8中设置的网关,DNS1和DNS2直接照抄就行。
接下来修改主机名:
vim /etc/hostname
我的主机名叫master,所以我将主机名改成master就行,大家的主机名有差异的改成对应的主机名即可。
接下来进行IP映射:
vim /etc/hosts
这里直接将主机和从机的IP都放进去,方便后面的主机克隆从机(参考图如下):
至此,我们的虚拟机网络配置完成,通过如下命令重启虚拟机使我们刚刚的修改生效:
reboot
5.修改host文件
为了方便Xshell远程连接我们的虚拟机,我们需要配置windows中的host文件,打开如下路径:
C:\Windows\System32\drivers\etc\hosts
右键hosts文件,点击属性:
如下图,点击安全-->编辑
将下方权限的允许全部打勾,完成后点击每个标签框的确认以关闭标签框
修改完成后,右键hosts文件 -->打开方式-->记事本,将内容修改成如下保存即可:
至此,我们前面所遇到的问题基本迎刃而解,如果对hadoop环境搭建还有疑问可以看我的前一篇文章,虽然版本差别较大,但操作步骤基本一样。