Jupyter notebook 在群集节点上启动Jupyter笔记本(高性能计算或HPC设备)

Jupyter notebook 在群集节点上启动Jupyter笔记本(高性能计算或HPC设备),jupyter-notebook,cluster-computing,hpc,pbs,qsub,Jupyter Notebook,Cluster Computing,Hpc,Pbs,Qsub,我想在集群的一个节点上运行jupyter笔记本,而不是在登录节点上运行。我可以在登录节点上远程运行jupyter笔记本,但这会不必要地降低集群的使用速度。请指导我如何在本地桌面的节点上启动jupyter笔记本。我们的集群使用PBS作业提交方法,例如,使用qsub、qstat、qdel等命令来管理集群上的作业。您可以通过在作业脚本中运行jupyter笔记本来实现这一点。jupyter启动脚本的输出可以写入文件,以获取令牌并监视日志 在我的系统中工作的示例脚本是: #/bin/bash #PBS-N

我想在集群的一个节点上运行jupyter笔记本,而不是在登录节点上运行。我可以在登录节点上远程运行jupyter笔记本,但这会不必要地降低集群的使用速度。请指导我如何在本地桌面的节点上启动jupyter笔记本。我们的集群使用PBS作业提交方法,例如,使用
qsub
qstat
qdel
等命令来管理集群上的作业。

您可以通过在作业脚本中运行jupyter笔记本来实现这一点。jupyter启动脚本的输出可以写入文件,以获取
令牌
并监视日志

在我的系统中工作的示例脚本是:

#/bin/bash
#PBS-N笔记本
#PBS-j oe
#PBS-l select=1:ncpus=24
#PBS-l walltime=24:00:00
#PBS-q培养基
cd$PBS___工作日
PYTHONPATH=/path/to/python
NOTEBOOK_LOGFILE=jupyterlog.out
$PYTHONPATH/bin/jupyter笔记本--无浏览器--ip=0.0.0.0--端口=8890>${notebook\u LOGFILE}2>&1
您可以通过以下方式监视输出:
tail-f jupyterlog.out
并获取令牌id

然后,您可以转发并收听本地系统中运行jupyter笔记本的端口

ssh -N -f -L localhost:8888:node:8890 user@host

您可以通过在作业脚本中运行jupyter笔记本来实现这一点。jupyter启动脚本的输出可以写入文件,以获取
令牌
并监视日志

在我的系统中工作的示例脚本是:

#/bin/bash
#PBS-N笔记本
#PBS-j oe
#PBS-l select=1:ncpus=24
#PBS-l walltime=24:00:00
#PBS-q培养基
cd$PBS___工作日
PYTHONPATH=/path/to/python
NOTEBOOK_LOGFILE=jupyterlog.out
$PYTHONPATH/bin/jupyter笔记本--无浏览器--ip=0.0.0.0--端口=8890>${notebook\u LOGFILE}2>&1
您可以通过以下方式监视输出:
tail-f jupyterlog.out
并获取令牌id

然后,您可以转发并收听本地系统中运行jupyter笔记本的端口

ssh -N -f -L localhost:8888:node:8890 user@host

你的笔记本电脑能“无头”运行吗?若并没有,你们确定你们的集群被配置为允许交互使用计算节点吗?很多都不是,它们被配置为运行相对较长的批处理计算,这需要多个节点的处理能力。你问过谁管理集群的问题吗?我不确定我的集群是否允许交互节点使用。但是我可以ssh到一个节点(比如node1)并在那里启动jupyter笔记本。此方法中的问题是节点未被阻止,任何人都可以在该节点上提交作业。在链接之后,我如何在PBS作业提交之后的群集上声明一个节点以交互模式使用它?现在联系管理群集的人有点困难。您的笔记本是否可以运行“无头”,即没有与交互前端的实时连接?若并没有,你们确定你们的集群被配置为允许交互使用计算节点吗?很多都不是,它们被配置为运行相对较长的批处理计算,这需要多个节点的处理能力。你问过谁管理集群的问题吗?我不确定我的集群是否允许交互节点使用。但是我可以ssh到一个节点(比如node1)并在那里启动jupyter笔记本。此方法中的问题是节点未被阻止,任何人都可以在该节点上提交作业。在链接之后,我如何在PBS作业提交之后的集群上声明一个节点以交互模式使用它?现在联系管理我们集群的人有点困难。这里的python路径是什么?@lsr729它是安装jupyter的目录的路径,即,包含包含jupyter可执行文件的bin目录的目录。例如,如果jupyter可执行路径是
/usr/bin/jupyter
,那么集群上的
PYTHONPATH=/usr
,jupyter文件位于
/home/lsr/.local/bin/jupyter
。因此,在最后一行的第三行中,我是否需要放置
PYTHONPATH=/home/lsr/.local/bin/jupyter
?@lsr729不,它应该是
PYTHONPATH=/home/lsr/.local
。因为在最后一行中,我们将路径的其余部分包含为
$PYTHONPATH/bin/jupyter
。但是当尝试运行ssh-N-f-L localhost:8888:node:8890时user@host在我的本地计算机上,出现错误:
bind[127.0.0.1]:8888:权限被拒绝的频道\u安装\u fwd\u侦听器\u tcpip:无法侦听端口:8888无法请求本地转发。
此处的python路径是什么?@lsr729它是安装jupyter的目录的路径,即包含包含jupyter可执行文件的bin目录的目录。例如,如果jupyter可执行路径是
/usr/bin/jupyter
,那么集群上的
PYTHONPATH=/usr
,jupyter文件位于
/home/lsr/.local/bin/jupyter
。因此,在最后一行的第三行中,我是否需要放置
PYTHONPATH=/home/lsr/.local/bin/jupyter
?@lsr729不,它应该是
PYTHONPATH=/home/lsr/.local
。因为在最后一行中,我们将路径的其余部分包含为
$PYTHONPATH/bin/jupyter
。但是当尝试运行ssh-N-f-L localhost:8888:node:8890时user@host在我的本地计算机上,收到错误:
bind[127.0.0.1]:8888:权限被拒绝的频道\u设置\u fwd\u侦听器\u tcpip:无法侦听端口:8888无法请求本地转发。