Jupyter Lab中有多台服务器?

时间:2019-07-17 17:39:38

标签: jupyter-notebook jupyter-lab

我想在Jupyter Lab中运行几个笔记本,其中一些笔记本由我的 local 机器(笔记本电脑)提供服务,而其他笔记本则由 remote (云服务)提供)服务器。我的目的是在本地计算机上进行大部分开发,然后偶尔启动云服务器以进行更重的计算(然后再次停止以节省成本)。

据我所知,Jupyter Lab可以支持多个笔记本,每个笔记本都在自己的选项卡中,只要它们都托管在一个服务器上即可,但我不知道如何如果笔记本是由不同服务器托管的,则可以在Jupyter Lab选项卡中并排运行笔记本。

如果Jupyter Lab实例正在我的本地计算机上运行,​​并且我在远程计算机上键入Worksheets("Exhibit").Rows("1:5").EntireRow.Hidden = True 并将URL粘贴到我的浏览器中,它会要求一个新的工作空间名称,或者有时会提供一个以:8889而不是:8888,但是我还无法弄清楚如何将远程托管的笔记本添加到现有的Jupyter Lab实例中作为新选项卡。

一个笨拙的解决方法是在本地计算机上与远程服务器上的Jupyter 笔记本同时运行Jupyter Lab,但是我很想知道如何在Jupyter Lab的漂亮界面中结合它们。

1 个答案:

答案 0 :(得分:0)

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

我已经配置了SSH,以便将我的云VM转发到端口8888。答案是为第二个VM添加第二个SSH配置,以便转发到端口8889,然后在{{1}中进行匹配项}在两台计算机上的文件,如下所示:

  1. 在本地计算机上编辑.ssh / config(替换<...>的内容和身份文件以使其适应您的情况)
jupyter_notebook_config
  1. 在每台计算机上编辑##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 文件,以使VM1的文件包含行.jupyter/jupyter_notebook_config.py,VM2的文件包含行c.NotebookApp.port = 8888

对于您想要从本地计算机和远程计算机并行运行Jupyter Lab会话的情况,我尚未进行测试,但是我认为机制是相同的。