You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法从本地访问远程HPC上的Jupyter Notebook求助

解决Jupyter Notebook远程连接HPC无法访问的问题

核心问题定位

你在端口转发时将本地8889端口映射到远程8888端口,但浏览器访问的是本地8888,这是直接的端口不匹配问题。除此之外,还有几个可能的配置问题需要排查。

分步解决方案

1. 修正端口转发与访问地址

你当前的转发命令是:

ssh -N -f -L localhost:8889:localhost:8888 a06upi0e@cometa.hpc.cineca.it

该命令的作用是把本地8889端口的请求转发到远程HPC的8888端口。因此你需要在浏览器中访问:

http://127.0.0.1:8889/?token=2c11ef7864a2804cae3b0f650527067f5420778909baf5e1

仅需将端口从8888改为8889,保持token不变即可。

2. 优化Jupyter启动配置

启动Jupyter时,建议将绑定IP改为0.0.0.0(允许所有网卡访问),避免仅绑定回环地址导致的潜在问题:

jupyter notebook --no-browser --ip=0.0.0.0 --port=8888

这种配置也能适配后续在计算节点运行Jupyter的场景(部分HPC禁止在登录节点运行服务)。

3. 排查端口占用问题

  • 远程HPC端:检查8888端口是否被其他进程占用
    lsof -i :8888
    
    若有占用,更换未被使用的端口(如8890),同步修改Jupyter启动命令、端口转发命令和访问地址。
  • 本地端:检查8889端口是否被占用
    # Linux/macOS
    lsof -i :8889
    # Windows
    netstat -ano | findstr :8889
    
    若被占用,更换本地转发端口(如8891),转发命令改为:
    ssh -N -f -L localhost:8891:localhost:8888 a06upi0e@cometa.hpc.cineca.it
    
    浏览器对应访问http://127.0.0.1:8891/?token=xxx

4. 确认SSH转发是否生效

通过本地终端测试连通性:

curl http://127.0.0.1:8889/?token=2c11ef7864a2804cae3b0f650527067f5420778909baf5e1
  • 若返回HTML内容,说明转发正常,问题可能出在浏览器设置(如代理)
  • 若连接超时,说明SSH转发未建立,需检查:
    • HPC登录地址是否正确
    • 本地SSH客户端版本是否支持转发参数
    • 本地或远程防火墙是否拦截端口

5. HPC环境特殊注意事项

部分HPC系统禁止在登录节点运行Jupyter,要求提交到计算节点:

  1. 登录登录节点后,提交交互式作业到计算节点(命令参考HPC文档,如salloc或qsub -I)
  2. 在计算节点上加载Anaconda、激活环境、启动Jupyter(绑定0.0.0.0和指定端口)
  3. 重新建立端口转发,需通过登录节点中转到计算节点,命令格式为:
    ssh -N -f -L localhost:8889:<计算节点IP>:8888 a06upi0e@cometa.hpc.cineca.it
    
    计算节点IP可通过hostname -i在交互式作业中获取。

内容的提问来源于stack exchange,提问作者Diego F.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 05:39:53