Windows WSL环境Hadoop ResourceManager 8088管理页面无法打开
问题描述
- 部署环境:Windows WSL Ubuntu 22.04,完成Hadoop部署并启动所有核心组件
- 执行
jps命令返回进程列表如下,所有Hadoop核心进程均正常运行:
1840 NodeManager 993 NameNode 1409 SecondaryNameNode 2355 Jps 1685 ResourceManager 1148 DataNode
- HDFS管理页面
http://127.0.0.1:9870/dfshealth.html#tab-overview可正常访问 - 访问ResourceManager管理页面
http://127.0.0.1:8088/时返回连接拒绝错误:
This site can’t be reached 127.0.0.1 refused to connect.
- 教程提供的firewalld端口放通命令执行失败,但未配置放通规则的9870端口可正常访问,判断问题与WSL环境特性相关,当前通过
xdg-open http://127.0.0.1:8088命令尝试打开目标页面。
根本原因
WSL2默认会自动将实例内绑定到0.0.0.0的端口转发到Windows本地的127.0.0.1回环地址,HDFS的WebUI(9870端口)默认绑定到0.0.0.0所以可以直接访问;而ResourceManager的WebUI默认会绑定到当前主机名解析到的IP(即WSL2的NAT内网地址,通常是172.2x.x.x网段),没有绑定到所有网卡地址,因此WSL2不会自动转发该端口,导致Windows侧访问127.0.0.1:8088被拒绝。
另外WSL的Ubuntu镜像默认未启用firewalld服务,不需要执行防火墙放通操作。
解决步骤
- 进入Hadoop配置文件目录,编辑
yarn-site.xml文件,在<configuration>节点内添加如下配置项,强制ResourceManager WebUI绑定所有网卡地址:
<property> <name>yarn.resourcemanager.webapp.address</name> <value>0.0.0.0:8088</value> </property>
- 重启YARN服务让配置生效:
stop-yarn.sh start-yarn.sh
- 执行
jps确认ResourceManager进程正常启动后,即可在Windows侧浏览器正常访问http://127.0.0.1:8088。
异常排查
如果完成上述配置后仍无法访问,按以下顺序排查:
- 在WSL终端执行
curl http://127.0.0.1:8088,如果返回HTML内容说明WSL内部服务正常,问题出在WSL端口转发,在Windows终端执行wsl --shutdown关闭所有WSL实例后重新启动即可。 - 执行
ss -tulpn | grep 8088确认端口绑定地址为0.0.0.0:8088,如果绑定地址为其他IP,检查yarn-site.xml配置是否正确、是否有其他配置文件覆盖了该参数。
内容的提问来源于stack exchange,提问作者havryliuk
相关产品推荐
相关产品推荐

