将Google colab连接到Google Compute Engine实例上的运行时

时间:2020-05-19 21:01:04

标签: python ssh google-cloud-platform jupyter-notebook google-colaboratory

我正在尝试将Google colab上的jupyter笔记本连接到GCP EC2实例上的运行时。我遵循了这份colab doc说明Link

已采取的步骤:

  • 在我的本地计算机上设置Jupyter服务器

pip install jupyter_http_over_ws && jupyter serverextension enable --py jupyter_http_over_ws

jupyter notebook \ --NotebookApp.allow_origin='https://colab.research.google.com' \ --port=8888 \ --NotebookApp.port_retries=0

  • 在GCP上创建并启动EC2实例
  • SSH进入EC2实例并使用以下命令转发本地端口

gcloud beta compute ssh --zone "europe-west2-c" "<ec2-instance-name>" --project "<project-name>" -- -L 8888:localhost:8888

尝试转发端口时出现错误消息:

bind [127.0.0.1]:8888: Address already in use
channel_setup_fwd_listener_tcpip: cannot listen to port: 8888
Could not request local forwarding.

我还尝试将ec2实例直接连接到colab,但是我无法。

对于最后一步,我想将Jupyter url复制到colab本地运行时

我该如何解决?

1 个答案:

答案 0 :(得分:2)

我知道了。

步骤:

  • 启动实例
  • 连接到实例并将远程实例上的端口转发到本地计算机

gcloud beta compute ssh --zone "<zone>" "<ec2-instance-name>" --project "<project-name>" -- -L 8888:localhost:8888

  • 如果没有在计算机上安装jupyter笔记本和jupyter_http_over_ws,请安装 远程实例已经。

  • 然后启用jupyter_http_over_ws

jupyter serverextension enable --py jupyter_http_over_ws

  • 在远程实例上启动Jupyter服务器

jupyter notebook \ --NotebookApp.allow_origin='https://colab.research.google.com' \ --port=8888 \ --NotebookApp.port_retries=0

  • 将服务器网址复制到colab