[PYTHON] Baue Jupyter Hub

Baue Jupyter Hub

Was verwenden Sie, die Python-Codierungsumgebung? Ich denke, es gibt überraschend viele Leute, die es Jupyter Notebook nennen. Jupyter Notebook ist eine Codierungsumgebung, die von Webbrowsern verwendet wird. Mithilfe eines Plug-Ins kann sie zusätzlich zu Python als Codierungsumgebung für Java, R usw. verwendet werden.

Die Benutzerverwaltung ist mit Jupyter Notebook allein nicht möglich, was bei der Entwicklung in Gruppen unpraktisch ist. Mit JupyterHub können Sie Ihrem Jupyter-Notizbuch eine Benutzerauthentifizierungsschnittstelle hinzufügen, damit ich Ihnen zeigen kann, wie Sie es erstellen.

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

Umgebung

Die diesmal eingeführte Bauumgebung ist wie folgt.

Voreinstellung

Lassen Sie uns zunächst Anaconda 4.3.0 im Voraus installieren.

Laden Sie die Installationsshell von Anaconda für Linux herunter.

#Arbeiten Sie von nun an als Root-Benutzer, verwenden Sie jedoch tatsächlich einen Benutzer, der verwendet werden kann.
sudo su -
cd ~
wget https://repo.continuum.io/archive/Anaconda3-4.2.0-Linux-x86_64.sh

Installieren Sie Anaconda. Sie werden während der Installation unterschiedlich gefragt, aber im Grunde ist ja in Ordnung.

Es gibt jedoch eine Einschränkung. Das Installationsverzeichnis sollte vorerst / opt / anaconda3 / sein. Das Standardinstallationsverzeichnis ist / root / anaconda3 /, dies verhindert jedoch, dass Nicht-Root-Benutzer Anaconda verwenden. Wenn ein Nicht-Root-Benutzer (mit oder ohne Sudo-Berechtigungen) JupyterHub verwendet, installieren Sie es in einem Verzeichnis, auf das auch dieser Benutzer zugreifen kann.

bash Anaconda3-4.2.0-Linux-x86_64.sh

2017-02-05_1.png

Anaconda ist jetzt installiert. Sie müssen Jupyter Notebook nicht konfigurieren, daher ist es Zeit, Jupyter Hub zu installieren.

JupyterHub installieren

Nach der Installation von Anaconda können Sie mit dem Befehl conda install Pakete für Anaconda- und Python-Module installieren. Jupyter Hub wird auch mit conda install installiert.

#Installieren Sie Jupyter Hub
conda install -c conda-forge jupyterhub
#Installieren Sie das JupyterHub-Notebook
conda install notebook

Sie können jetzt Jupyter Hub installieren und Notebook starten. Erstellen Sie als Nächstes eine Konfigurationsdatei und konfigurieren Sie die Einstellungen.

Erstellen Sie eine JupyterHub-Konfigurationsdatei

Die JupyterHub-Konfigurationsdatei wird mit dem folgenden Befehl generiert.

cd /opt/
jupyterhub --generate-config

So wird eine Datei namens jupyterhub_config.py erstellt.

2017-02-05_2.png

JupyterHub-Einstellungen

Mit JupyterHub können Sie verschiedene Einstellungen wie Proxy, TLS-Zertifikat, Benutzer, Administrator usw. konfigurieren. Legen Sie diesmal mindestens nur den Administrator, den Benutzer und das Notebook-Verzeichnis des Administrators fest. Öffnen Sie jupyterhub_config.py in einem Editor.

vi jupyterhub_config.py

Ändern Sie die folgenden Einstellungen.

Erstens ist das Notebook-Verzeichnis. Erstellen Sie ein ~ / notebook / -Verzeichnis unter dem Home-Verzeichnis jedes Benutzers und machen Sie es zum Notebook-Verzeichnis.

## 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 = ''
#Fügen Sie Folgendes hinzu
c.Spawner.notebook_dir = '~/notebook'

Als nächstes kommt der Benutzer von Jupyter Hub. Legen Sie dies als Whitelist fest.

## 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()
#Fügen Sie Folgendes hinzu
c.Authenticator.whitelist = {'user01', 'user02'}

Schließlich der Administrator.

## 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()
#Fügen Sie Folgendes hinzu
c.Authenticator.admin_users = {'user00'}

Damit sind die Mindesteinstellungen abgeschlossen. Weitere Einstellungen finden Sie weiter unten. http://jupyterhub.readthedocs.io/en/latest/getting-started.html#configuration

Erstellen Sie für jeden Benutzer ein Notizbuch

Erstellen Sie ein Notizbuch für Benutzer des Jupyter Hub.

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

Starten Sie Jupyter Hub

JupyterHub startet standardmäßig mit HTTPS, aber dieses Mal habe ich kein TLS-Zertifikat eingerichtet. Ein selbstsigniertes Zertifikat (Oreore-Zertifikat) ist in Ordnung, aber problematisch. Starten Sie es daher mit HTTP mit der Option --no-ssl.

jupyterhub --no-ssl

2017-02-05_3.png

Dies wird es starten. JupyterHub wird mit Portnummer 8000 und HTTP veröffentlicht.

Nebenbei wird empfohlen, diesen Befehl zwischen nohup und & zu setzen, um das Betriebssystem im Hintergrund zu starten.


nohup jupyterhub --no-ssl &

Besuchen Sie Jupyter Hub

Greifen Sie über einen Webbrowser auf Ihrem PC auf Jupyter Hub zu. Die URL lautet http: // : 8000 /.

2017-02-05_4.png

In HTTPS wird die Meldung "Yogora (# ゚ Д ゚)" angezeigt. Lassen Sie uns später ein Oleore-Zertifikat erstellen (^ _ ^;).

(Hinzugefügt am 27.04.2018: Es scheint, dass das Zertifikat [letsencrypt] sein kann (https://letsencrypt.org/). https://jupyterhub.readthedocs.io/en/0.7.2/getting-started.html#ssl-encryption)

Geben Sie Ihren Benutzernamen und Ihr Passwort ein, um sich anzumelden. Danach kann es auf die gleiche Weise wie Jupyter Notebook verwendet werden, daher werde ich es weglassen.

Referenz-URL: http://jupyterhub.readthedocs.io/en/latest/index.html https://www.continuum.io/downloads

Recommended Posts

Baue Jupyter Hub
Erstellen Sie mit Docker eine Jupyter Lab (Python) -Umgebung
Jupyter beginnt
Jupyters Trick 4
Jupyter nb Erweiterungen
Jupyters Trick 5
Jupyters Trick 3
Jupyters Trick 2
Erstellen Sie eine Ausführungsumgebung für Jupyter Lab
Erstellen Sie ein Jupyter-Notebook auf einem Remote-Server (CentOS).
Jupyter Installation
Jupyters Trick
Erstellen Sie Python 1.0