Windows 11下WSL2 Ubuntu部署Flink后Windows主机无法访问8081端口的问题求助
Windows 11下WSL2 Ubuntu部署Flink后Windows主机无法访问8081端口的问题求助
首先,我来帮你分析下问题所在——从你给出的netstat -tnl输出能明显看到关键差异:
- Tomcat的8080端口绑定在
:::8080,也就是监听所有网卡地址,所以Windows主机的localhost能通过WSL的端口转发正常访问; - 而Flink的8081端口只绑定在
127.0.0.1:8081,也就是仅监听WSL内部的回环地址,这个地址是不对外暴露的,自然Windows主机无法访问。
解决方法很简单,只需要修改Flink的配置让它监听所有网卡:
打开Flink的配置文件:
nano ~/flink/conf/flink-conf.yaml在文件中找到以下配置项(如果没有就手动添加),将其修改为绑定所有地址:
# 配置Flink REST服务对外暴露的地址 rest.address: 0.0.0.0 # 配置Flink绑定到所有可用网卡 rest.bind-address: 0.0.0.0注:如果是更老版本的Flink,对应的配置项可能是
jobmanager.web.address,你使用的1.18.1版本用上述rest相关配置即可。保存配置后,重启Flink服务使修改生效:
sudo systemctl restart flink最后验证端口绑定情况,再次执行命令:
netstat -tnl此时你应该能看到8081端口显示为
:::8081或者0.0.0.0:8081,说明已经成功监听所有网卡了。
完成以上步骤后,再用Windows 11的浏览器访问http://localhost:8081,应该就能正常打开Flink的控制台页面了。
另外,你也可以先做个临时测试确认问题:在WSL2 Ubuntu中执行hostname -I获取它的内部IP,然后在Windows浏览器中访问http://[你的WSL内部IP]:8081,如果能正常访问,就进一步确认是端口绑定范围的问题啦。
备注:内容来源于stack exchange,提问作者Joseph Hwang
相关产品推荐
相关产品推荐

