使用登陆节点在GPU服务器中搭建Jupyter Notebook

之前获得了一些计算资源,本来是一直用的slurm节点上的卡,只能用提交作业的方式直接运行.py文件,很难用notebook。一直想试着在上面开个jupyter但是好像并不行。主要原因还是在于不能ssh登录。

最近偶然发现原来还有GPU服务器资源,虽然不多而且很多人用,但还是试着给开了个JupyterLab。

同时因为一些原因下面我都额外指定了用zsh作为shell而不用bash(好吧是因为我不想被记录历史指令,正好zsh没开历史指令)

首先在登录节点上使用tmux,不然ssh连接会因为一些原因断掉而让服务器中的Jupyter进程直接断掉

1
tmux new-session /bin/zsh \; set default-shell /bin/zsh

然后登上服务器

1
ssh -t [your gpuserver name] "zsh"

切换conda环境并打开jupyter

--no-browser是不使用浏览器,--port是你选的对外的端口,选个没在用的就好,--ContentsManager.allow_hidden=True用来设置

1
jupyter notebook --no-browser --port=63750 --ContentsManager.allow_hidden=True

这时在窗口上应该会显示开启了jupyter的显示,和在本机开启时一样。

然后在本地开个shell,输入

1
ssh -t -t [login node address] "zsh" -L 63750:localhost:63750 ssh [gpu server address] "zsh" -L 63750:localhost:63750

其中每个63750都是自己设置的转发端口,第一个转发是登录节点到本机的转发,后一个是GPU服务器到登录节点的转发