100 lines
4.4 KiB
Markdown
100 lines
4.4 KiB
Markdown
---
|
|
title: Jupyterhub on Merlin
|
|
#tags:
|
|
#keywords:
|
|
last_updated: 16 July 2019
|
|
#summary: ""
|
|
sidebar: merlin6_sidebar
|
|
permalink: /merlin6/jupyterhub.html
|
|
---
|
|
|
|
Jupyterhub provides [jupyter notebooks](https://jupyter.org/) that are launched on
|
|
cluster nodes of merlin and can be accessed through a web portal.
|
|
|
|
## Accessing Jupyterhub and launching a session
|
|
|
|
The service is available inside of PSI (or through a VPN connection) at
|
|
|
|
|
|
**<https://merlin-jupyter.psi.ch:8000>**
|
|
|
|
|
|
1. **Login**: You will be presented with a **Login** web page for
|
|
authenticating with your PSI account. We are still in a **TEST
|
|
PHASE** and we are using a self-generated certificate, so your
|
|
browser will generate a warning about it. Please agree to the
|
|
exception in this special case.
|
|
1. **Spawn job**: The **Spawner Options** page allows you to
|
|
specify the properties (Slurm partition, running time,...) of
|
|
the batch jobs that will be running your jupyter notebook. Once
|
|
you click on the `Spawn` button, your job will be sent to the
|
|
Slurm batch system. If the cluster is not currently overloaded
|
|
and the resources you requested are available, your job will
|
|
usually start within 30 seconds.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## JupyterLab and Classic Notebook user interfaces
|
|
|
|
Your Jupyter notebook will start up with the new **JupyterLab** user interface which has a toolbar on the
|
|
left. You can read about its features [on the official website](https://jupyterlab.readthedocs.io/en/stable/user/interface.html).
|
|
|
|
However, if you prefer the classical notebook UI or you want to use some feature which has not yet been implemented in the
|
|
new interface, you can switch to it by using the **"Launch Classic Notebook"** command from the left sidebar of JupyterLab.
|
|
|
|
{% include image.html file="jupyter-launch-classic.png" caption="Launch Classic Notebook" max-width=501 %}
|
|
|
|
|
|
## Jupyter software environments - running different kernels
|
|
|
|
Your notebooks can run within different software environments which are offered by a number of available **Jupyter kernels**.
|
|
|
|
E.g. in this test installation we provide two environments targeted at data science
|
|
* **datascience_py36**: contains Tensorflow, Keras, scikit-learn, and dependencies. Stable
|
|
* **keras216_py36**: also contains the Talos package. This
|
|
environment is experimental and subject to updates and changes.
|
|
|
|
When you create a new notebook you will be asked to specify which kernel you want to use. It is also possible to switch the kernel of a running notebook, but you will lose the state of the current kernel, so you will have to recalculate the notebook cells with this new kernel.
|
|
|
|
These environments are also available for standard work in a shell session. You can activate an environment in a normal merlin terminal session by using the `module` (q.v. [using Pmodules](using-modules.html)) command to load anaconda python, and from there using the `conda` command to switch to the desired environment
|
|
|
|
```
|
|
module use unstable
|
|
module load anaconda/2019.03
|
|
conda activate datascience_py36
|
|
```
|
|
|
|
When the `anaconda` module has been loaded, you can list the available environments by executing
|
|
|
|
```
|
|
conda info -e
|
|
```
|
|
|
|
|
|
## Using nbextensions for adding features to your notebook
|
|
|
|
There exist a number of useful [contributed but unofficial
|
|
extensions](https://jupyter-contrib-nbextensions.readthedocs.io/en/latest/index.html)
|
|
that add useful features to your notebooks. These regrettably are not
|
|
yet supported from within the JupyterLab UI, but you can activate them
|
|
through the Classic Notebook interface (see above)
|
|
|
|
<!-- ([see above](##JupyterLab-and-Classic-Notebook-user-interfaces)) -->
|
|
|
|
From the classic Notebook UI you can access the available extensions in a separate tab as displayed in this screenshot:
|
|
|
|
{% include image.html file="jupyter-nbextensions.png" caption="Launch Classic Notebook" max-width=586 %}
|
|
|
|
Especially the following extensions make working with larger notebooks easier
|
|
* **Table of Contents**: Displays a TOC on the left and you can also configure it
|
|
to add and update a TOC at the head of the document.
|
|
* **Collapsible Headings**: allows you to fold all the cells below a heading
|
|
|
|
## Troubleshooting
|
|
|
|
In case of problems or request, please either submit a **[PSI Service Now](https://psi.service-now.com/psisp)** incident containing *"Merlin Jupyterhub"* as part of the subject, or contact us by mail through <merlin-admins@lists.psi.ch>.
|
|
|