Cookies

We use cookies to ensure that we give you the best experience on our website. You can change your cookie settings at any time. Otherwise, we'll assume you're OK to continue.

Durham University

COSMA

Jupyter Hub

A Jupyter Hub is available on the login7b login node.

Logging in to Jupyter Hub

Please use your COSMA login/password. If you do not know your password, please email for a reset.

Run this command in the terminal of your local machine:

ssh -N -L 8443:login7b.cosma.dur.ac.uk:443 USER@login7b.cosma.dur.ac.uk

where USER is the username you use for SSH access. Then point your web browser to https://localhost:8443.

Launching Jupyter Lab on a compute node

Eventually, we will have a webpage and Jupyter Lab interface to do this. But for now:

Interactively using srun

srun -A DIRAC_PROJECT -p cosma[6,7] -t TIME --pty /bin/bash

(e.g. srun -A dp004 -p cosma7 -t 1:00:00 --pty /bin/bash)

Once you get a compute node, do:

export XDG_RUNTIME_DIR=""

module load python/3.6.5 #(you may need to module purge, or module unload python first)

jupyter lab --no-browser --ip=`ifconfig | awk '/172.17/ {print $2}'`

(note, be careful with backticks and single quotes when copying the above command)

Then, on your desktop/laptop, set up a ssh tunnel, e.g.:

ssh -N -L localhost:8888:NODE:8888 USER@login7.cosma.dur.ac.uk

And direct your web browser (on your desktop/laptop) to http://localhost:8888

It will ask you to input a token: This should be copied from the command line where you ran the jupyter lab command.

More automatically using sbatch

Create an sbatch script with some of the following information, e.g.:

#!/bin/bash -l
#SBATCH --ntasks 1
#SBATCH -J jupyter
#SBATCH -o slurmjupyter%J.out
#SBATCH -e slurmjupyter%J.err
#SBATCH -p cosma        #for example, could be cosma6, cosma7 etc
#SBATCH -A durham       #for example, could be dp004, or other projects
#SBATCH --exclusive
#SBATCH -t 01:00:00     #1 hour - use more if you need it
#SBATCH --mail-type=END # notifications
#SBATCH --mail-user=YOUR_EMAIL_ADDRESS
module purge
module load python/3.6.5
export XDG_RUNTIME_DIR="" # Run Jupyter jupyter lab --no-browser --ip=`ifconfig | awk '/172.17/ {print $2}'`

Submit this script (sbatch SCRIPTNAME)

Once the job is running (find this using squeue -u USERNAME), you need to "tail -f slurmjupyterJOBID.err" until a message about how to connect appears (this will take a few seconds)

Then, on your desktop/laptop, set up a ssh tunnel (to the node given by squeue -u USERNAME), e.g.:

ssh -N -L localhost:8888:NODE:8888 USER@login7.cosma.dur.ac.uk

And direct your web browser (on your desktop/laptop) to http://localhost:8888

It will ask you to input a token: This should be copied from the command line where you tailed the .err file.

FAQ:

Q: When plotting, I get a "JavaScript output is disabled in JupyterLab" message.

A: Select "Help -> Launch Classic Notebook". Then navigate to your notebook file, and run it.

Alternative access methods

Running Firefox on the COSMA login node

Run this command in the terminal of your local machine:

ssh -X USER@login7b.cosma.dur.ac.uk firefox https://localhost:443

This will launch a web browser on the login node, and so will require a fast Internet connection to be useable.

Forward COSMA traffic through a local proxy

Run this command in the terminal of your local machine:

ssh -D 1234 USER@login7b.cosma.dur.ac.uk

where USER is the username you use for SSH access, and 1234 is an example value for the port forwarding; if 1234 gives an error you can pick a higher value that works, just remember to update it in your browser settings (instructions below).

Then reconfigure your local web browser with a HTTP proxy. If you use Firefox, run:

firefox -P

which will create a new profile. You can call it i.e. cosma. Then, go to Edit > Preferences > General > Network Settings, select “Manual proxy configuration” and set “SOCKS host” to localhost, port 1234 (or whatever port you specified in the ssh command). Then remove the localhost entry in the “No proxy for” box, and click “OK”. For the future runs, you will be able to select pre-configured cosma profile you have just created.

If you use Chromium, run:

chromium-browser --proxy-server="socks5://localhost:1234" https://localhost:443

updating the 1234 if necessary.

Finally, open https://localhost:443 to login to the Jupyter Hub.

COSMA logo