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

问题描述

我正在尝试将Google CoLab上的Jupyter笔记本连接到GCP EC2实例上的运行时。我遵循此CoLab文档说明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本地运行时。我如何修复此问题?


解决方案

我算出来了。

步骤:

  • 启动实例

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

    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
    
  • 将服务器URL复制到CoLab

相关文章