col*_*lin 7 jupyter jupyter-notebook
我使用 Jupyter Notebook 运行生物信息学分析,我喜欢它。但是,只有在我的个人计算机上运行它时,它才能真正发挥作用。但是,我经常使用具有多核的远程计算机进行分析以减少处理时间。我希望能够在我的个人计算机上使用 Jupyter Notebook 界面,而实际上一切都在远程计算机上运行。我通常通过 ssh 访问 shell 中的远程计算机并在命令行执行所有命令来执行此操作。我希望在我的个人计算机上的 Jupyter 笔记本上执行此操作,而不是从我个人计算机上的 shell 中执行此操作。相关的是我在远程计算机上没有 sudo 访问权限。
到目前为止,我已经安装miniconda并jupyter notebook在远程计算机上是这样的:
wget https://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
Run Code Online (Sandbox Code Playgroud)
正确安装 conda 后,我使用以下行通过 miniconda 安装 jupyter notebook:
conda install jupyter
Run Code Online (Sandbox Code Playgroud)
这样就安装成功了。然后,我可以使用以下行在远程计算机上启动 jupyter notebook 会话:
jupyter notebook --no-browser
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好。我的下一个问题:如何将本地 jupyter notebook 连接到远程机器,以便我可以使用本地 jupyter notebook 在远程机器上执行命令?有一些文件在这里,但我一直在尝试不同的事物了几个小时,但都未能成功。
鉴于我已经走了这么远,任何人都可以提供一种直接的方法来连接到我的远程服务器吗?我觉得这应该只是在我的本地 Jupyter 笔记本中输入 url 地址和密码的问题(所有这些都可以通过 shell 中的 ssh 轻松完成)。
请按照以下步骤操作:
在远程机器上启用端口转发
ssh -N -f -L 127.0.0.1:8898:127.0.0.1:8898 user@remote-machine.com
Run Code Online (Sandbox Code Playgroud)
做ssh你的远程机器,然后运行下面的远程计算机上的命令
jupyter-notebook --no-browser --port=8898
Run Code Online (Sandbox Code Playgroud)
你会看到一些如下所示的东西
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
Run Code Online (Sandbox Code Playgroud)
将 URL 复制并粘贴到本地计算机浏览器中。
如果你想远程访问在VPS上运行的Jupyter/Ipython笔记本,我在数字海洋社区网站上写了一篇教程。
如指南所示,在服务器上使用命令行安装并运行 Ipython Notebook 后,您可以使用 Putty(在 Windows 上)的 SSH 隧道或类 Unix 系统(即 Mac 和 Linux)上的 ssh -L 命令连接到笔记本)
| 归档时间: |
|
| 查看次数: |
7771 次 |
| 最近记录: |