[PYTHON] Construire Jupyter Hub

Construire Jupyter Hub

Qu'utilisez-vous, l'environnement de codage Python? Je pense qu'il y a étonnamment beaucoup de gens qui l'appellent Jupyter Notebook. Jupyter Notebook est un environnement de codage utilisé par les navigateurs Web, et en utilisant un plug-in, il peut être utilisé comme environnement de codage pour Java, R, etc. en plus de Python.

La gestion des utilisateurs n'est pas possible avec Jupyter Notebook seul, ce qui n'est pas pratique lors du développement en groupe. Avec JupyterHub, vous pouvez ajouter une interface d'authentification utilisateur à Jupyter Notebook, je vais donc vous montrer comment le créer.

※ JupyterHub http://jupyterhub.readthedocs.io/en/latest/index.html

environnement

L'environnement de construction introduit cette fois est le suivant.

Préréglage

Tout d'abord, installons Anaconda 4.3.0 à l'avance.

Téléchargez le shell d'installation d'Anaconda pour Linux.

#À partir de maintenant, opérez en tant qu'utilisateur root, mais utilisez en fait un utilisateur qui peut être utilisé.
sudo su -
cd ~
wget https://repo.continuum.io/archive/Anaconda3-4.2.0-Linux-x86_64.sh

Installez Anaconda. Il vous sera demandé de diverses manières lors de l'installation, mais fondamentalement oui, c'est bien.

Cependant, il y a une mise en garde. Le répertoire d'installation doit être / opt / anaconda3 / pour le moment. Le répertoire d'installation par défaut est / root / anaconda3 /, mais cela empêche les utilisateurs non root d'utiliser Anaconda. Si un utilisateur non root (avec ou sans privilèges sudo) utilise JupyterHub, installez-le également dans un répertoire accessible à cet utilisateur.

bash Anaconda3-4.2.0-Linux-x86_64.sh

2017-02-05_1.png

Anaconda est maintenant installé. Vous n'avez pas besoin de configurer Jupyter Notebook, il est donc temps d'installer Jupyter Hub.

Installez Jupyter Hub

Après avoir installé Anaconda, vous pouvez installer des packages pour les modules Anaconda et Python avec la commande conda install. Jupyter Hub est également installé avec l'installation de conda.

#Installez Jupyter Hub
conda install -c conda-forge jupyterhub
#Installer le notebook JupyterHub
conda install notebook

Vous pouvez maintenant installer Jupyter Hub et lancer Notebook. Ensuite, créez un fichier de configuration et configurez les paramètres.

Créer un fichier de configuration JupyterHub

Le fichier de configuration JupyterHub est généré avec la commande suivante.

cd /opt/
jupyterhub --generate-config

Un fichier appelé jupyterhub_config.py est créé comme ceci.

2017-02-05_2.png

Paramètres JupyterHub

JupyterHub vous permet de configurer divers paramètres tels que proxy, certificat TLS, utilisateur, utilisateur administratif, etc. Cette fois, au minimum, ne définissez que le répertoire de l'administrateur, de l'utilisateur et de l'utilisateur. Ouvrez jupyterhub_config.py dans un éditeur.

vi jupyterhub_config.py

Modifiez les paramètres suivants.

Le premier est le répertoire Notebook. Créez un répertoire ~ / notebook / sous le répertoire personnel de chaque utilisateur et faites-en le répertoire Notebook.

## Path to the notebook directory for the single-user server.
#
#  The user sees a file listing of this directory when the notebook interface is
#  started. The current interface does not easily allow browsing beyond the
#  subdirectories in this directory's tree.
#
#  `~` will be expanded to the home directory of the user, and {username} will be
#  replaced with the name of the user.
#
#  Note that this does *not* prevent users from accessing files outside of this
#  path! They can do so with many other means.
#c.Spawner.notebook_dir = ''
#Ajoutez ce qui suit
c.Spawner.notebook_dir = '~/notebook'

Vient ensuite l'utilisateur de Jupyter Hub. Définissez cela comme une liste blanche.

## Whitelist of usernames that are allowed to log in.
#
#  Use this with supported authenticators to restrict which users can log in.
#  This is an additional whitelist that further restricts users, beyond whatever
#  restrictions the authenticator has in place.
#
#  If empty, does not perform any additional restriction.
#c.Authenticator.whitelist = set()
#Ajoutez ce qui suit
c.Authenticator.whitelist = {'user01', 'user02'}

Enfin, l'utilisateur admin.

## Set of users that will have admin rights on this JupyterHub.
#
#  Admin users have extra privilages:
#   - Use the admin panel to see list of users logged in
#   - Add / remove users in some authenticators
#   - Restart / halt the hub
#   - Start / stop users' single-user servers
#   - Can access each individual users' single-user server (if configured)
#
#  Admin access should be treated the same way root access is.
#
#  Defaults to an empty set, in which case no user has admin access.
#c.Authenticator.admin_users = set()
#Ajoutez ce qui suit
c.Authenticator.admin_users = {'user00'}

Ceci termine les réglages minimum. Voir ci-dessous pour d'autres paramètres. http://jupyterhub.readthedocs.io/en/latest/getting-started.html#configuration

Créez un cahier pour chaque utilisateur

Créez un bloc-notes pour les utilisateurs du Jupyter Hub.

mkdir -p /home/user01/notebook
chown user01:usergr /home/user01/notebook

Démarrez Jupyter Hub

JupyterHub démarre par défaut avec HTTPS, mais cette fois je n'ai pas configuré de certificat TLS. Un certificat auto-signé (certificat Oreore) convient, mais c'est gênant, alors démarrez-le avec HTTP avec l'option --no-ssl.

jupyterhub --no-ssl

2017-02-05_3.png

Cela va le démarrer. JupyterHub est publié avec le numéro de port 8000 et HTTP.

En passant, il est recommandé de mettre cette commande entre nohup et & pour démarrer le système d'exploitation en arrière-plan.


nohup jupyterhub --no-ssl &

Visitez Jupyter Hub

Accédez à Jupyter Hub à partir d'un navigateur Web sur votre PC. L'URL est http: // <IP JupyterHub ou nom d'hôte>: 8000 /.

2017-02-05_4.png

Il y a un message disant "Yogora (# ゚ Д ゚)" en HTTPS. Faisons un certificat oléore plus tard (^ _ ^;).

(Ajouté le 27/04/2018: Il semble que le certificat puisse être letsencrypt. https://jupyterhub.readthedocs.io/en/0.7.2/getting-started.html#ssl-encryption)

Entrez votre nom d'utilisateur et mot de passe pour vous connecter. Après cela, il peut être utilisé de la même manière que Jupyter Notebook, je vais donc l'omettre.

URL de référence: http://jupyterhub.readthedocs.io/en/latest/index.html https://www.continuum.io/downloads

Recommended Posts

Construire Jupyter Hub
Créer un environnement Jupyter Lab (Python) avec Docker
Jupyter commence
Le tour de Jupyter 4
Extensions Jupyter NB
Astuce de Jupyter 5
Astuce de Jupyter 3
Le tour de Jupyter 2
Créer un environnement d'exécution pour Jupyter Lab
Construire un notebook jupyter sur un serveur distant (CentOS)
Installation de Jupyter
L'astuce de Jupyter
Construire Python 1.0