文章目录
- 步骤
- 1、虚机访问端口
- 2、vmware端口映射
- 3、在宿主机上访问虚机中hadoop服务
- 问题
- 1、宿主机ping虚机
- 2、抓包
- 3、检查虚机防火墙
需求:在win10系统上安装了VMware,在VMware上安装了centos7操作系统,现在需要在win10宿主机上访问虚机centos7中的50070端口。由于宿主机不能直接访问虚机中的端口,需要通过vmware把虚机中的端口映射到宿主机未被占用的端口上,然后宿主机就可以访问虚机端口了。
步骤
1、虚机访问端口
在虚机中启动hadoop服务,可以通过50070端口访问HDFS的文件系统,访问界面如下:
2、vmware端口映射
把虚机中的50070端口映射到主机的50070端口上。操作步骤如下:
设置vmware,编辑 -> 虚拟网络编辑器,弹出虚拟网络编辑器界面
首先点击“更改配置”获取管理员权限,然后选中VMnet8模式,然后点击"NAT设置",弹出映射端口界面
把虚机192.168.85.137映射到主机的50070端口上,设置完毕,点击确认。
3、在宿主机上访问虚机中hadoop服务
在宿主机上打开浏览器,发送127.0.0.1:50070请求,访问页面如下:
通过以上步骤成功在宿主机上访问虚机50070端口。
问题
最开始按如上设置后,并没有成功,最后发现是防火墙的问题。当你也碰到相同问题时,有可能是网络或防火墙问题。解决方法如下:
1、宿主机ping虚机
ping 192.168.85.137
发现可以ping的通,网络没有问题
2、抓包
在虚机中抓包,抓取宿主机发送127.0.0.1:50070的包,查看是否抓取到。在虚机中启动抓包命令:tcpdump -i eth0 -nn 'host xxx.xxx.x.xxx'
,其中xxx.xxx.x.xxx为楼主宿主机ip地址,发现抓取包失败,说明虚机并没有收到宿主机的请求。
3、检查虚机防火墙
检查虚机的防火墙状态,执行
systemctl status firewalld.service
如果红色框起的active状态为running状态,表示防火墙在启动中。
下面关闭防火墙,执行
systemctl stop firewalld.service
从图中可以看出active的状态变成了inactive(dead)状态,说明虚机防火墙已关闭。
经过以上三步的验证和设置,然后从新在宿主机中访问50070端口,成功。