问题
三台虚拟机安装spark、hadoop,一切配置完毕,成功启动后,在主机的浏览器中输入node1:4040
或node1:50070
无法查看到web ui 界面。博主今天重新配置了这次虚拟机,恰巧发现了这个问题,想必很多新手朋友可能会一头雾水,因此详细列出下面的解决方案以供参考。
解决方式
- 在主机(windows系统)中使用
cmd
控制台窗口输入ipconfig
,可以看到Ethernet adapter 以太网
下面有 IPv4 的地址,在虚拟机中尝试ping
通; - 使用
sudo firewall-cmd --list-ports
命令查看Spark UI的端口号在防火墙设置中是否被阻止,或者干脆用systemctl stop firewalld
命令关闭防火墙; - 配置hadoop的时候,会修改一个worker文件,里面标明了工作的节点。在虚拟机中输入
cat /etc/hosts
查看该虚拟机的主机名和IP地址之间的映射关系。cat /etc/hostname
命令显示主机名。hosts
文件是一个本地主机名解析文件,它存储了主机名与IP地址之间的映射关系。当一个程序需要连接到远程主机时,它通常首先查找hosts
文件,以便解析主机名并将其映射到IP地址。如果hosts
文件中没有找到与主机名对应的IP地址,程序就会继续查找DNS服务器或其他名字服务,以便解析主机名。 - 因此我们只配置虚拟机中的hosts文件,而不配置主机的hosts文件,自然无法找到
node1
这个主机名对应的ip地址了。 - 解决方法就是:按照同样的方法配置主机的hosts文件,或者用ip地址代替主机名即可,比如输入链接
http://192.168.88.161:4040/
就可以看到了spark的ui界面了。