es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Ejecuta Jupyter Notebook desde SSH en el nodo del servidor remoto.

Quiero ejecutar un cuaderno de Jupyter desde SSH en un nodo de un servidor remoto.
Pasos:
1. ssh usuario@servidor.remoto
2. jupyter notebook –no-browser –port=8887

Pasos en mi computadora:
1. ssh -N -L localhost:8888:localhost:8887 usuario@servidor.remoto
2. ejecutar localhost:8888

Esto funciona bien. Sin embargo, quiero ejecutar esto en node1, que está dentro de usuario@servidor.remoto, porque node1 contiene una GPU.

Los pasos que he realizado son similares, excepto por esto:
ssh -N -L localhost:8888:localhost:8887 usuario@servidor.remoto “ssh node1”

Pero esto no funciona: “channel 2: open failed: connect failed: Connection refused”

Editar: /etc/hosts:
enter image description here

Solución después de varios intentos, siguiendo la respuesta de @ajz34:
1. En node1: jupyter notebook –no-browser –port=8886 –ip=127.0.0.1
2. En el servidor: ssh -N -L 8887:127.0.0.1:8886 node1
3. En local: ssh -N -L 8888:127.0.0.1:8887 usuario@xxx.xxx.xxx.xxx

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para ejecutar un cuaderno de Jupyter desde SSH en un nodo de servidor remoto que contiene una GPU, se pueden seguir los siguientes pasos:

    1. Inicie sesión en el servidor remoto mediante SSH: ssh usuario@servidor.remoto
    2. Inicie un cuaderno de Jupyter en el nodo de GPU (nodo1) utilizando el comando: jupyter notebook --no-browser --port=8886 --ip=127.0.0.1. Esto iniciará el cuaderno en el puerto 8886 de la dirección IP de bucle local de nodo1.
    3. Cree un túnel SSH desde el ordenador local hasta el nodo de GPU ejecutando el comando: ssh -N -L 8887:127.0.0.1:8886 nodo1 en el servidor remoto. Esto reenviará todo el tráfico del puerto 8887 en el servidor remoto al puerto 8886 de la dirección IP de bucle local de nodo1.
    4. Finalmente, cree otro túnel SSH desde el ordenador local hasta el servidor remoto ejecutando el comando: ssh -N -L 8888:127.0.0.1:8887 usuario@servidor.remoto. Esto reenviará todo el tráfico del puerto 8888 en el ordenador local al puerto 8887 del servidor remoto, el cual a su vez se reenviará al puerto 8886 de nodo1 a través del túnel anterior.

    Una vez completados estos pasos, se puede acceder al cuaderno de Jupyter que se ejecuta en nodo1 abriendo un navegador web y navegando a localhost:8888. Tenga en cuenta que la bandera -N en el comando SSH suprime la creación de una shell en el servidor remoto, por lo que los comandos se ejecutan en segundo plano utilizando & en el primer túnel.

Comments are closed.