Połączenie ze zdalnym serwerem jupyter lab
W tym przewodniku pokażemy jak
- jak uruchomić serwer jupyter lab na klastrze Rysy.
- jak połączyć się z nim z lokalnego (np. domowego) komputera.
Zaloguj się na klaster obliczeniowy
Otwórz terminal, zaloguj się na klaster Rysy i uruchom zadanie w trybie interaktywnym:
bash-4.2$ salloc -N1 -n10 --account=GXX_YY --gres=gpu:1 --time=08:00:00
bash-4.2$ srun --pty /bin/bash -l
Prrzygotowanie środowiska
Utwórz środowisko wirtualne i zainstaluj w nim wymagane biblioteki python'a.
Jeśli już to poprzednio zrobiłeś, po prostu aktywuj środowisko source jupyterlab_env/bin/activate
.
bash-4.2$ python3 -m venv jupyterlab_env
bash-4.2$ source jupyterlab_env/bin/activate
(jupyterlab_env) bash-4.2$ pip install --upgrade pip
(jupyterlab_env) bash-4.2$ pip install -r requirements.txt
Plik requirements.txt
powinien zawierać
jupyterlab
ipympl
ipywidgets
ipynb
numpy
numba
sympy
scipy
matplotlib
pandas
Uruchom jupyter lab server
Sprawdź nazwę węzła obliczeniowego na którym jesteś:
(jupyterlab_env) bash-4.2$ hostname
rysy-n5.icm.edu.pl
Uruchom 'jupyter lab server' korzystając z niestandardowego portu (innego niż 8888) Jest to wymagane aby uniknąć 'kolizji' z innymi użytkownikami W tym przykładzie użyjemy portu 1234, ale proszę wybierz jakiś inny numer.
(jupyterlab_env) bash-4.2$ jupyter lab --port=1234 --ip=*
Powinieneś zobaczyć ekran podobny do poniższego:
Skopiuj link i zmodyfikuj go, przykładowo
# from
http://rysy-n5.icm.edu.pl:1234/lab?token=63c655fd77172deae9991f66fa1e35a1d96622e08b4b82b0
# to
http://localhost:8888/lab?token=63c655fd77172deae9991f66fa1e35a1d96622e08b4b82b0
Utwórz tunel ssh tunel ze swojego komputera
Open another terminal and create the ssh tunel.
Otwórz terminal i wykonaj poniższą komendę.
Pamiętaj aby zamienić rysy-n5.icm.edu.pl:1234
na właściwą parę hostname i port (patrz wyżej).
ssh -L <local port>:<remote ip address>:<remote port> <public ssh server ip address> # syntax
(john@home_pc)$ ssh -L 8888:rysy-n5.icm.edu.pl:1234 -v -J hpc.icm.edu.pl rysy
Wklej
http://localhost:8888/lab?token=63c655fd77172deae9991f66fa1e35a1d96622e08b4b82b0
do swojej przeglądarki. Enjoy.
Referencje
Jeśli frazy 'ssh local and remote port forwarding' and 'ssh jump host' brzmią nieznajomo, użyj wyszukiwarki google, przykładowo: