在我的本地计算机上使用Jupyter Notebook在远程计算机上运行代码

时间:2016-02-14 22:58:55

标签: jupyter jupyter-notebook

我使用Jupyter Notebook进行生物信息学分析,我喜欢它。但是,当我在个人电脑上运行时,它才真正发挥出色。但是,我经常使用具有多个内核的远程计算机进行分析,以减少处理时间。我希望能够在我的个人计算机上使用Jupyter Notebook界面,而所有内容实际上都在远程计算机上运行。我通常通过ssh访问shell中的远程计算机并在命令行执行所有命令来执行此操作。我喜欢在我的个人电脑上使用Jupyter笔记本电脑,而不是从我个人电脑上的外壳上做。相关的是我在远程计算机上没有sudo访问权限。

到目前为止,我已经在远程计算机上安装了minicondajupyter notebook,如下所示:

wget https://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh

一旦正确安装了conda,我就会通过miniconda安装jupyter笔记本:

conda install jupyter

此安装成功。然后,我可以使用以下行在远程计算机上启动jupyter笔记本会话:

jupyter notebook --no-browser

到目前为止,这么好。我的下一个问题:如何让我的本地jupyter笔记本连接到远程机器,以便我可以使用我当地的jupyter笔记本在远程机器上执行命令?有一些文档here,但我已经尝试了几个小时不同的事情,但未能成功。

任何人都可以提供一种直接的方法来连接我的远程服务器,因为我这么远吗?我觉得应该只是将url地址和密码输入到我当地的Jupyter笔记本中(所有这些都可以通过shell中的ssh轻松实现)。

2 个答案:

答案 0 :(得分:3)

如果你想远程访问在VPS上运行的Jupyter / Ipython笔记本,我写了一篇关于digital ocean community site的教程。

如指南所示,在服务器上使用命令行安装和运行Ipython Notebook后,您可以使用Putty(在Windows上)使用SSH隧道连接或在类Unix系统上使用ssh -L命令连接笔记本(即Mac和Linux)

答案 1 :(得分:3)

请遵循以下步骤:
在远程计算机上启用端口转发

ssh -N -f -L 127.0.0.1:8898:127.0.0.1:8898 user@remote-machine.com

对您的远程计算机执行ssh,然后在远程计算机上运行以下命令

jupyter-notebook --no-browser --port=8898

您将看到如下所示的内容

    Copy/paste this URL into your browser when you connect for the first time,
    to login with a token:
http://localhost:8898/token=eaf2f51f9c053f43d8bd093e76f0cc6301b545549c998fa2&token=eaf2f51f9c053f43d8bd093e76f0cc6301b545549c998fa2

将URL复制并粘贴到本地计算机浏览器中。