JupyterHub Konfiguration und Verwaltung - Amazon EMR

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

JupyterHub Konfiguration und Verwaltung

JupyterHub und verwandte Komponenten laufen in einem Docker-Container mit dem Namenjupyterhub, auf dem das Ubuntu-Betriebssystem ausgeführt wird. Sie haben mehrere Möglichkeiten, Komponenten zu verwalten, die innerhalb des Containers ausgeführt werden.

Warnung

Anpassungen, die Sie innerhalb des Containers vornehmen, bleiben möglicherweise nicht erhalten, wenn der Container neu gestartet wird. Wir empfehlen Ihnen, die Containerkonfiguration per Skript vorzunehmen oder anderweitig zu automatisieren, damit Sie Anpassungen leichter reproduzieren können.

Administration über die Befehlszeile

Wenn Sie mit dem Master-Knoten verbunden sindSSH, können Sie Befehle ausgeben, indem Sie die Docker-Befehlszeilenschnittstelle (CLI) verwenden und den Container mit Namen (jupyterhub) oder ID angeben. Beispiel: sudo docker exec jupyterhub command führt Befehle aus, die vom Betriebssystem oder einer im Container ausgeführten Anwendung erkannt werden. Mit dieser Methode können Sie Benutzer zum Betriebssystem hinzufügen und zusätzliche Anwendungen und Bibliotheken innerhalb des Docker-Containers installieren. Beispiel: Das Standard-Container-Image enthält Conda für die Paketinstallation, sodass Sie den folgenden Befehl in der Befehlszeile des Master-Knotens ausführen können, um eine Anwendung, Keras, innerhalb des Containers zu installieren:

sudo docker exec jupyterhub conda install keras

Administration durch Übermitteln von Schritten

Schritte sind eine Möglichkeit, Arbeit an einen Cluster zu übermitteln. Schritte können Sie senden, wenn der Cluster gestartet oder ausgeführt wird. Befehle, die Sie in der Befehlszeile ausführen, können mitcommand-runner.jar als Schritte übermittelt werden. Weitere Informationen finden Sie unter Arbeiten mit Schritten mithilfe der CLI AND-Konsole im Amazon EMR Management Guide undBefehle und Skripte auf einem Amazon-EMR-Cluster ausführen.

Sie könnten beispielsweise den folgenden AWS CLI Befehl auf einem lokalen Computer verwenden, um Keras auf die gleiche Weise zu installieren, wie Sie es im vorherigen Beispiel über die Befehlszeile des Master-Knotens getan haben:

aws emr add-steps --cluster-id MyClusterID --steps Name="Command Runner",Jar="command-runner.jar",Args="/usr/bin/sudo","/usr/bin/docker","exec","jupyterhub","conda","install","keras"

Sie können auch eine Folge von Schritten per Skript festlegen, das Skript in Amazon S3 hochladen und dann script-runner.jar verwenden, um das Skript auszuführen, wenn Sie den Cluster erstellen, oder das Skript als Schritt hinzufügen. Weitere Informationen finden Sie unter Befehle und Skripte auf einem Amazon-EMR-Cluster ausführen. Ein Beispiel finden Sie unter Beispiel: Bash-Skript zum Hinzufügen mehrerer Benutzer.

Verwaltung mit REST APIs

Jupyter und der HTTP Proxy für JupyterHub Provide RESTAPIs, mit dem Sie Anfragen senden können. JupyterHub Um Anfragen an zu senden JupyterHub, müssen Sie der Anfrage ein API Token beifügen. Sie können den curl Befehl von der Master-Node-Befehlszeile aus verwenden, um REST Befehle auszuführen. Weitere Informationen finden Sie in den folgenden Ressourcen:

Das folgende Beispiel zeigt die Verwendung von REST API for JupyterHub , um eine Benutzerliste abzurufen. Der Befehl übergibt ein zuvor generiertes Admin-Token und verwendet den Standardport 9443 für JupyterHub, um die Ausgabe zur besseren Anzeige an jq weiterzuleiten:

curl -XGET -s -k https://$HOST:9443/hub/api/users \ -H "Authorization: token $admin_token" | jq .