如何重新连接到远程Jupyter实例(运行代码)

时间:2017-09-14 21:00:27

标签: jupyter-notebook gcloud jupyter-lab

我在远程Google云计算实例上有几个长时间运行的脚本(在Jupyter笔记本中)。

如果我丢失了ssh连接,我无法在不停止那些正在运行的脚本的情况下重新连接到(正在运行的)笔记本 - 在Notebook中执行。

似乎关闭我的macbook,将切断我与远程(运行)jupyter笔记本的连接。有没有办法在不停止脚本的情况下重新连接?

在Google Cloud上,Jupyter 仍然正在运行。我无法连接到执行代码的笔记本 - 无需停止代码执行。

我确定其他Jupyter用户已经想到了:) 提前致谢

我的GCloud隧道脚本

gcloud compute ssh --zone us-central1-c my-compute-instance -- -N -p 22 -D localhost:5000

启动Chrome的Bash脚本

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome
"localhost:22"     
--proxy-server="socks5://localhost:5000"
--host-resolver-rules="MAP * 0.0.0 , EXCLUDE localhost"
--user-data-dir=/tmp/

Nohup在Gcloud上启动Jupyter

nohup jupyter notebook --no-browser > log.txt 2>&1 &
  • 在我的Sierra-os macbook上,没有启用代理设置(系统偏好设置)
  • 在Google Cloud上,我没有使用静态IP,只是一个短暂的IP。

提前多多欣赏

1 个答案:

答案 0 :(得分:0)

“无法重新连接”是什么意思?你的意思是你不能再看到笔记本界面了吗? (在这种情况下,这可能是一个谷歌云问题。)或者你的意思是你不能运行代码或看到以前的结果?

如果是第二个,这是一个known issue,jupyter团队正在研究它;解决这个问题的方法是将代码包装在存储中间代码的Python Futures中;因此,重新访问未来不会触发重新计算,但会向您显示中间结果。