Jupyter Lab 中有多台服务器?

Multiple servers in Jupyter Lab?

我想要 运行 并发 Jupyter Lab 会话,其中会话由不同的服务器(例如,local 机器和 remote(云)服务器,或两个云服务器)。

如果 Jupyter Lab 实例在我的本地计算机上 运行ning,而我在远程计算机上键入 jupyter lab 并将 URL 粘贴到我的浏览器中,它会要求一个新的工作区名称或有时提供以 :8889 而不是 :8888 结尾的本地主机地址,但我一直无法弄清楚如何将远程托管的笔记本作为 Jupyter 实验室中的新选项卡添加到现有的 Jupyter Lab 实例中,或者 运行 它作为一个新的浏览器标签并排显示。

我终于想出了如何在一个浏览器的选项卡中获得两个云 VM 运行并排的 Jupyter Lab 会话。

我已经配置了 SSH,以便我的云 VM 被转发到端口 8888。答案是为第二个 VM 添加第二个 SSH 配置,以便它转发到端口 8889,然后在 jupyter_notebook_config两台机器上的文件,像这样:

  1. 在您的本地计算机上编辑 .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
  1. 编辑每台机器上的 .jupyter/jupyter_notebook_config.py 文件,使 VM1 的文件包含行 c.NotebookApp.port = 8888,VM2 的文件包含行 c.NotebookApp.port = 8889

我还没有测试过你想 运行 从本地机器和远程机器并排进行 Jupyter Lab 会话的情况,但我假设机制是一样的.