如何通过本地计算机上的远程服务器运行 jupyter notebook?

问题描述 投票:0回答:6

我可以从我的大学远程访问远程服务器,我正在通过我的本地机器访问它!但是,我的本地机器没有足够的内存来运行多个 jupyter 笔记本。有什么方法可以通过远程服务器运行它们,这可能会加快任务速度!!不过我不太确定!

我在 macOS 中从终端访问服务器。 谢谢!!

jupyter-notebook remote-access remote-server
6个回答
49
投票

这里有很好的教程

本质上,您只是在无浏览器模式下在遥控器上运行笔记本。

jupyter notebook --no-browser --port=8080

然后从本地机器设置 ssh 隧道:

ssh -L 8080:localhost:8080 <REMOTE_USER>@<REMOTE_HOST>

然后在您的本地浏览器中转到:http://localhost:8080/

编辑:

不需要在特定端口上运行。

--no-browser
标签是.


9
投票

我想你可能正在寻找端口转发。

例如当您通过 ssh 登录到您的遥控器时,您可以:

  1. 在远程机器上,从当前目录启动 jupyter notebook 并指定端口:

    jupyter notebook --no-browser --port=9999
    
  2. 在本地机器上,捕获转发端口:

    ssh -NfL localhost:9999:localhost:9999 your_user_name@remote_ip_address
    
  3. 转到

    http://localhost:9999
    。你应该能够选择你的笔记本,你会很高兴。


7
投票

您可以在您的远程机器终端上运行

jupyter notebook --no-browser --ip="<remote server ip>"
。并使用 http://:8888/?token=<> 从本地计算机上的浏览器访问笔记本。


6
投票

假设本地用户

localuser
和主机为
localhost
,远程用户和远程主机为
remoteuser
remotehost
。要从本地计算机在远程服务器上运行 Jupyter notebook,您可以按照以下步骤操作。

  1. 在远程机器上使用

    --no-browser
    指定端口运行 Jupyter notebook

    jupyter notebook --no-browser --port=XXXX
    
  2. 通过 SSH 转发到本地机器

    ssh -N -f -L localhost:YYYY:localhost:XXXX remoteuser@remotehost
    
  3. 打开浏览器并转到

    http://localhost:YYYY

您可能需要关闭连接

  • CTRL+C
    停止你正在运行的笔记本然后
    y

  • 杀死在端口

    YYYY
    上运行的进程,
    netstat
    返回进程ID(PID)

     sudo netstat -lpn | grep :YYYY -> for LINUX
     sudo netstat -anv | grep YYYY -> for MacOS
    
     kill PROCESS_ID
    

0
投票

使用自定义端口号在无浏览器模式下运行 jupyter notebook

jupyter notebook --no-browser --port=8888

然后从本地机器设置 ssh 隧道:

ssh -L 8888:localhost:8888 <REMOTE_USER>@<REMOTE_HOST>

0
投票

在最后一部分,我遇到了权限被拒绝的错误。我的远程服务器托管在 AWS EC2 上,安全组配置正确,我认为是这样。output_image

© www.soinside.com 2019 - 2024. All rights reserved.