Technischer Überblick | Installation | Konfiguration | Docker | Mitwirken | Lizenz | Hilfe und Ressourcen
Mit JupyterHub können Sie einen Mehrbenutzer-Hub erstellen, der mehrere Instanzen des Einzelbenutzer-Jupyter-Notebook-Servers erzeugt, verwaltet und weiterleitet.
Project Jupyter hat JupyterHub erstellt, um viele Benutzer zu unterstützen. Der Hub kann Notebook-Server für eine Klasse von Studenten, eine Arbeitsgruppe für Unternehmensdatenwissenschaft, ein wissenschaftliches Forschungsprojekt oder eine Gruppe für Hochleistungsrechnen anbieten.
Drei Hauptakteure bilden JupyterHub:
Grundprinzipien für den Betrieb sind:
JupyterHub bietet außerdem eine REST-API für die Verwaltung des Hubs und seiner Benutzer.
Ein Linux/Unix-basiertes System
Python 3.8 oder höher
nodejs/npm
Wenn Sie conda
verwenden, werden die Abhängigkeiten von nodejs und npm von conda für Sie installiert.
Wenn Sie pip
verwenden, installieren Sie eine aktuelle Version (mindestens 12.0) von nodejs/npm.
Bei Verwendung des Standard-PAM-Authentifikators ein steckbares Authentifizierungsmodul (PAM).
TLS-Zertifikat und Schlüssel für die HTTPS-Kommunikation
Domainname
conda
verwendenSo installieren Sie JupyterHub zusammen mit seinen Abhängigkeiten, einschließlich nodejs/npm:
conda install -c conda-forge jupyterhub
Wenn Sie Notebook-Server lokal ausführen möchten, installieren Sie JupyterLab oder Jupyter Notebook:
conda install jupyterlab
conda install notebook
pip
verwenden JupyterHub kann mit pip
und der Proxy mit npm
installiert werden:
npm install -g configurable-http-proxy
python3 -m pip install jupyterhub
Wenn Sie Notebook-Server lokal ausführen möchten, müssen Sie JupyterLab oder Jupyter Notebook installieren:
python3 -m pip install --upgrade jupyterlab
python3 -m pip install --upgrade notebook
Führen Sie den folgenden Befehl aus, um den Hub-Server zu starten:
jupyterhub
Besuchen Sie http://localhost:8000
in Ihrem Browser und melden Sie sich mit Ihrem Systembenutzernamen und Passwort an.
Hinweis : Damit sich mehrere Benutzer beim Server anmelden können, müssen Sie den Befehl jupyterhub
als privilegierter Benutzer ausführen, z. B. als Root. Das Wiki beschreibt, wie der Server als weniger privilegierter Benutzer ausgeführt wird, was mehr Konfiguration des Systems erfordert.
Im Abschnitt „Erste Schritte“ der Dokumentation werden die allgemeinen Schritte beim Einrichten von JupyterHub erläutert.
Das JupyterHub-Tutorial bietet ein ausführliches Video und Beispielkonfigurationen von JupyterHub.
So generieren Sie eine Standardkonfigurationsdatei mit Einstellungen und Beschreibungen:
jupyterhub --generate-config
So starten Sie den Hub unter einer bestimmten URL und Port 10.0.1.2:443
mit https :
jupyterhub --ip 10.0.1.2 --port 443 --ssl-key my_ssl.key --ssl-cert my_ssl.cert
Authentifikator | Beschreibung |
---|---|
PAMAuthenticator | Standardmäßiger, integrierter Authentifikator |
OAuthenticator | OAuth + JupyterHub Authenticator = OAuthenticator |
ldapauthenticator | Einfaches LDAP-Authentifikator-Plugin für JupyterHub |
kerberosauthenticator | Kerberos Authenticator Plugin für JupyterHub |
Spawner | Beschreibung |
---|---|
LocalProcessSpawner | Der standardmäßig integrierte Spawner startet Einzelbenutzerserver als lokale Prozesse |
Dockerspawner | Erstellen Sie Einzelbenutzerserver in Docker-Containern |
Kubespawner | Kubernetes-Spawner für JupyterHub |
sudospawner | Erstellen Sie Einzelbenutzerserver, ohne Root zu sein |
systemdspawner | Erstellen Sie Einzelbenutzer-Notebookserver mit systemd |
Batchspawner | Entwickelt für Cluster mit Batch-Planungssoftware |
Garnspawner | Erstellen Sie Einzelbenutzer-Notebookserver, die auf einem Hadoop-Cluster verteilt sind |
Wrapspawner | WrapSpawner und ProfilesSpawner ermöglichen die Laufzeitkonfiguration von Spawnern |
Ein Starter- Docker-Image für JupyterHub bietet eine Basisbereitstellung von JupyterHub mit Docker.
Wichtig: Dieses quay.io/jupyterhub/jupyterhub
enthält nur den Hub selbst, ohne Konfiguration. Im Allgemeinen muss man ein abgeleitetes Image erstellen, wobei mindestens eine jupyterhub_config.py
einen Authentifikator und/oder einen Spawner einrichtet. Um die Einzelbenutzerserver auszuführen, die sich möglicherweise auf demselben System wie der Hub befinden oder nicht, muss Jupyter Notebook Version 4 oder höher installiert sein.
Das JupyterHub-Docker-Image kann mit dem folgenden Befehl gestartet werden:
docker run -p 8000:8000 -d --name jupyterhub quay.io/jupyterhub/jupyterhub jupyterhub
Dieser Befehl erstellt einen Container namens jupyterhub
, den Sie mit docker stop/start
stoppen und fortsetzen können.
Der Hub-Dienst überwacht alle Schnittstellen an Port 8000, was ihn zu einer guten Wahl zum Testen von JupyterHub auf Ihrem Desktop oder Laptop macht.
Wenn Sie Docker auf einem Computer ausführen möchten, der über eine öffentliche IP verfügt, sollten Sie ihn (wie in MUSS) mit SSL sichern , indem Sie SSL-Optionen zu Ihrer Docker-Konfiguration hinzufügen oder einen SSL-fähigen Proxy verwenden.
Durch das Mounten von Volumes können Sie Daten außerhalb des Docker-Images (Hostsystems) speichern, sodass diese auch dann bestehen bleiben , wenn Sie ein neues Image starten.
Der Befehl docker exec -it jupyterhub bash
erzeugt eine Root-Shell in Ihrem Docker-Container. Mit der Root-Shell können Sie Systembenutzer im Container erstellen . Diese Konten werden zur Authentifizierung in der Standardkonfiguration von JupyterHub verwendet.
Wenn Sie zum Projekt beitragen möchten, lesen Sie bitte unsere Mitwirkendendokumentation und die CONTRIBUTING.md
. In der Datei CONTRIBUTING.md
wird erläutert, wie Sie eine Entwicklungsinstallation einrichten, die Testsuite ausführen und zur Dokumentation beitragen.
Einen allgemeinen Überblick über die Vision und die nächsten Richtungen des Projekts finden Sie in der JupyterHub-Community-Roadmap.
JupyterHub wird auf Linux/Unix-basierten Systemen unterstützt.
JupyterHub unterstützt Windows offiziell nicht . Möglicherweise können Sie JupyterHub unter Windows verwenden, wenn Sie einen Spawner und einen Authentifikator verwenden, die unter Windows funktionieren, die JupyterHub-Standardeinstellungen funktionieren jedoch nicht. Unter Windows gemeldete Fehler werden nicht akzeptiert und die Testsuite kann nicht unter Windows ausgeführt werden. Kleinere Patches zur Behebung kleinerer Windows-Kompatibilitätsprobleme (z. B. Basisinstallation) können jedoch akzeptiert werden. Für Windows-basierte Systeme empfehlen wir die Ausführung von JupyterHub in einem Docker-Container oder einer Linux-VM.
Zusätzliche Referenz: Tornados Dokumentation zur Windows-Plattformunterstützung
Wir verwenden ein gemeinsames Urheberrechtsmodell, das es allen Mitwirkenden ermöglicht, das Urheberrecht an ihren Beiträgen zu wahren.
Der gesamte Code unterliegt den Bedingungen der überarbeiteten BSD-Lizenz.
Wir ermutigen Sie, im Jupyter-Community-Forum Fragen zu stellen und Ideen auszutauschen. Sie können auch auf unserem JupyterHub-Gitter-Kanal mit uns sprechen.
JupyterHub folgt den Jupyter Community Guides.
Technischer Überblick | Installation | Konfiguration | Docker | Mitwirken | Lizenz | Hilfe und Ressourcen