我想在集群的节点上运行jupyter notebook,在登录节点上不运行。我可以在登录节点上远程运行jupyter笔记本,但这会不必要地减慢群集的使用。请指导我如何从本地桌面在节点上启动jupyter笔记本。我们的集群使用PBS作业提交方法,例如使用qsub
,qstat
,qdel
之类的命令来管理我们在集群上的作业。
您可以通过在作业脚本中运行jupyter笔记本来完成此操作。可以将jupyter启动脚本的输出写入文件以获取token
并监视日志。
在我的系统中工作的示例脚本是:
#!/bin/bash
#PBS -N Notebook
#PBS -j oe
#PBS -l select=1:ncpus=24
#PBS -l walltime=24:00:00
#PBS -q medium
cd $PBS_O_WORKDIR
PYTHONPATH=/path/to/python
NOTEBOOK_LOGFILE=jupyterlog.out
$PYTHONPATH/bin/jupyter notebook --no-browser --ip=0.0.0.0 --port=8890 >> ${NOTEBOOK_LOGFILE} 2>&1
您可以通过以下方式监视输出tail -f jupyterlog.out
并获取令牌ID。
然后,您可以转发并收听本地系统中运行jupyter笔记本的端口,
ssh -N -f -L localhost:8888:node:8890 user@host