【问题标题】:Multiple servers in Jupyter Lab?Jupyter Lab 中有多个服务器?
【发布时间】:2019-11-26 14:54:59
【问题描述】:
我想运行并发的 Jupyter Lab 会话,这些会话由不同的服务器(例如,本地机器和远程(云)服务器提供服务,或者两台云服务器)。
如果 Jupyter Lab 实例正在我的本地计算机上运行,并且我在远程计算机上键入 jupyter lab 并将 URL 粘贴到我的浏览器中,它会要求提供新的工作区名称,或者有时会提供以 :8889 结尾的 localhost 地址而不是:8888,但我无法弄清楚如何将远程托管的笔记本添加到现有的 Jupyter Lab 实例作为 Jupyter Lab 中的新选项卡,或者将其作为新浏览器并排运行标签。
【问题讨论】:
标签:
jupyter-notebook
jupyter-lab
【解决方案1】:
我终于想出了如何让两个云虚拟机在一个浏览器的选项卡中并排运行 Jupyter Lab 会话。
我已配置 SSH,以便将我的云 VM 转发到端口 8888。答案是为第二个 VM 添加第二个 SSH 配置,以便转发到端口 8889,然后在 jupyter_notebook_config 文件中创建匹配条目在两台机器上,像这样:
- 在您的本地计算机上编辑 .ssh/config(替换 <...> 的内容和身份文件以适应您的情况)
##Override for Azure machine 1 ##
Host <IP address of VM 1>
User <your username on VM1>
IdentityFile ~/.ssh/vm1_rsa #SSH private key
LocalForward 8888 localhost:8888
##Override for Azure machine 2 ##
Host <IP address of VM 2>
User <your username on VM2>
IdentityFile ~/.ssh/vm2_rsa #SSH private key (could be the same as for VM1)
LocalForward 8889 localhost:8889
- 编辑每台机器上的
.jupyter/jupyter_notebook_config.py 文件,使VM1 的文件包含c.NotebookApp.port = 8888 行,VM2 的文件包含c.NotebookApp.port = 8889 行。
对于您希望从本地计算机和远程计算机并行运行 Jupyter Lab 会话的情况,我尚未对其进行测试,但我认为机制是相同的。