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

如何通过作业提交在远程服务器运行Jupyter Notebook并实现本地访问?

解决方案

前置准备

先在超算登录节点执行jupyter notebook password,按提示设置访问密码,避免后续用token登录的麻烦。

步骤1:编写qsub作业脚本

创建PBS作业脚本,命名为jupyter_job.pbs,内容参考如下(按需调整资源参数):

#PBS -N jupyter_notebook
#PBS -l nodes=1:ppn=4 # 按需调整申请的核数
#PBS -l walltime=24:00:00 # 按需调整作业最长运行时间
#PBS -j oe
#PBS -o jupyter.log

# 加载超算上的Jupyter运行环境,根据超算实际模块配置调整
module load anaconda3

# 启动Jupyter Notebook,指定监听IP、端口、不启动远程浏览器
jupyter notebook --ip=0.0.0.0 --port=8888 --no-browser

步骤2:提交作业并获取运行信息

  • 登录超算登录节点,执行qsub jupyter_job.pbs提交作业
  • 等待作业调度成功后,打开生成的日志文件jupyter.log,可以看到两个关键信息:
    • 作业运行的计算节点域名/IP,比如node07
    • Jupyter实际绑定的端口(如果预设的8888端口被占用会自动更换,比如日志显示http://0.0.0.0:8889/则对应端口为8889)

步骤3:本地配置端口转发

打开本地终端,执行以下命令,通过登录节点做跳板,将计算节点的Jupyter端口转发到本地:
ssh -L 本地端口:计算节点名:Jupyter端口 你的超算登录账号@超算登录地址

举个实际示例:假设你本地用8888端口,计算节点是node07,Jupyter端口是8889,超算登录账号是me,登录地址是remoteserver,命令为:
ssh -L 8888:node07:8889 me@remoteserver
执行后保持这个终端窗口不要关闭。

步骤4:本地访问Jupyter

打开本地浏览器,访问http://localhost:8888,输入之前设置的Jupyter密码即可使用。所有读写操作都直接在超算节点上执行,不需要下载数据到本地。

常见注意事项

  • 如果本地端口8888被占用,可以换其他未被占用的端口(比如8890),只需要修改转发命令里的本地端口即可,访问时对应改成http://localhost:8890
  • 作业运行时长到期前可以重新提交作业续期,重复上述步骤即可
  • 如果你的超算用的是Slurm调度而非PBS,把作业脚本的头部改成Slurm对应的参数即可,Jupyter启动命令、端口转发逻辑完全一致

内容的提问来源于stack exchange,提问作者mgmf46

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 18:30:01