如何远程启动 IPython notebook?

Posted

技术标签:

【中文标题】如何远程启动 IPython notebook?【英文标题】:How to start IPython notebook remotely? 【发布时间】:2015-06-23 14:39:27 【问题描述】:

按照这些说明(Running a notebook server 和 Remote access to IPython Notebooks ) 我进行如下操作:

在远程服务器上:

1) 设置 NotebookApp.password()

In [1]: from IPython.lib import passwd
In [2]: passwd()    
Enter password:
Verify password:
Out[2]: 'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'

2) 创建个人资料

user@remote_host$ ipython profile create 

3) 编辑~/.ipython/profile_default/ipython_notebook_config.py

# Password to use for web authentication
c = get_config()
c.NotebookApp.password =
u'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'

4) 在端口 8889 上启动笔记本

user@remote_host$ ipython notebook --no-browser --port=8889

笔记本启动

[I 16:08:10.012 NotebookApp] 使用 CDN 中的 MathJax:https://cdn.mathjax.org/mathjax/latest/MathJax.js

[W 16:08:10.131 NotebookApp] 终端不可用(错误是 No module named 'terminado')

[I 16:08:10.132 NotebookApp] 从本地目录服务笔记本:/cluster/home/user

[I 16:08:10.132 NotebookApp] 0 个活动内核

[I 16:08:10.132 NotebookApp] IPython Notebook 运行在:http://localhost:8889/

[I 16:08:10.132 NotebookApp] 使用 Control-C 停止此服务器并关闭所有内核(两次跳过确认)。

在我的本地机器上

5) SSH 隧道

 user@local$ ssh -N -f -L localhost:8888:127.0.0.1:8889 username@remote_host

在远程主机 (/etc/hosts) 上找到

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

6) 最后,我尝试在浏览器上打开localhost:8888,我得到:

通道 2:打开失败:连接失败:连接被拒绝

通道 2:打开失败:连接失败:连接被拒绝

通道 2:打开失败:连接失败:连接被拒绝

通道 2:打开失败:连接失败:连接被拒绝

通道 2:打开失败:连接失败:连接被拒绝

所有这些步骤在一台服务器上工作,但在另一台服务器上失败。

我尝试联系管理员并说如下:

我假设您正在使用两个单独的 SSH 连接:一个来自 您运行 ipython 和用于进行端口转发的一个。 不能保证这两个连接会让你登陆 相同的登录节点。在两个连接都打开的情况下 不同的主机,您将遇到确切的失败 遭遇。因此,您应该在 用于运行 ipython 的连接。

如何在用于运行 ipython 的连接中设置端口转发?

我尝试使用我的 IP 地址,但它不起作用

$ ssh -N -f -L local_ip_address:8888:127.0.0.1:8889 user@remote_host

【问题讨论】:

【参考方案1】:

问题终于解决了:

# Login to the server from your local workstation and in the same connection do the port forwarding.
user@local$ ssh -L 8888:localhost:8889 username@remote_host
user@remote_host$ ipython notebook --no-browser --port=8889

【讨论】:

最后一行应该是:user@remote_host$ ipython notebook --no-browser --port=8888 然后对我有用【参考方案2】:

只需按照此说明操作即可。

https://coderwall.com/p/ohk6cg/remote-access-to-ipython-notebooks-via-ssh

【讨论】:

以上是关于如何远程启动 IPython notebook?的主要内容,如果未能解决你的问题,请参考以下文章

可以在不使用内联绘图的情况下远程访问 IPython Notebook 吗?

无法为 pyspark OSX 启动 Jupyter Notebook:IPYTHON 和 IPYTHON_OPTS 在 Spark 2.0+ 中被删除

IPython Notebook 语言环境错误 [重复]

IPython Notebook 语言环境错误 [重复]

在 ec2 上启动 pyspark Ipython notebook

使用notebook 笔记