JupyterHub configuration et administration - Amazon EMR

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

JupyterHub configuration et administration

JupyterHub et les composants associés s'exécutent dans un conteneur Docker nommé jupyterhub qui exécute le système d'exploitation Ubuntu. Il existe plusieurs méthodes pour administrer des composants s'exécutant à l'intérieur du conteneur.

Avertissement

Les personnalisations que vous effectuez dans le conteneur peuvent ne pas être conservées si le conteneur redémarre. Nous vous recommandons de créer des scripts ou d'automatiser de quelque manière que ce soit les configurations de conteneur, de sorte que vous puissiez reproduire les personnalisations plus rapidement.

Administration à l'aide de la ligne de commande

Lorsque vous êtes connecté au nœud principal à l'aide deSSH, vous pouvez émettre des commandes à l'aide de l'interface de ligne de commande Docker (CLI) et en spécifiant le conteneur par son nom (jupyterhub) ou son ID. Par exemple, sudo docker exec jupyterhub command exécute des commandes reconnues par le système d'exploitation ou par une application exécutée dans le conteneur. Vous pouvez utiliser cette méthode pour ajouter des utilisateurs au système d'exploitation et installer des applications et des bibliothèques supplémentaires au sein du conteneur Docker. Par exemple, l'image de conteneur par défaut inclut Conda pour l'installation de package ; vous pouvez donc exécuter la commande suivante sur la ligne de commande du nœud principal pour installer une application, Keras, dans le conteneur :

sudo docker exec jupyterhub conda install keras

Administration par soumission d'étapes

Les étapes constituent un moyen de soumettre le travail à un cluster. Vous pouvez soumettre des étapes lors du lancement d'un cluster ou lorsque celui-ci est en cours d'exécution. Les commandes exécutées sur la ligne de commande peuvent être soumises sous forme d'étapes à l'aide de command-runner.jar. Pour plus d'informations, consultez Work with steps using the CLI and console dans le Amazon EMR Management Guide etExécuter des commandes et des scripts sur un EMR cluster Amazon.

Par exemple, vous pouvez utiliser la AWS CLI commande suivante sur un ordinateur local pour installer Keras de la même manière que vous l'avez fait depuis la ligne de commande du nœud principal dans l'exemple précédent :

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"

De plus, vous pouvez créer un script avec une séquence d'étapes, le charger sur Amazon S3, puis utiliser script-runner.jar pour l'exécuter lors de la création du cluster ou l'ajouter en tant qu'étape. Pour de plus amples informations, veuillez consulter Exécuter des commandes et des scripts sur un EMR cluster Amazon. Pour obtenir un exemple, consultez Exemple : script bash pour ajouter plusieurs utilisateurs.

Administration à l'aide de REST APIs

Jupyter JupyterHub, et le HTTP proxy pour JupyterHub fournir REST APIs que vous pouvez utiliser pour envoyer des demandes. Pour envoyer des demandes à JupyterHub, vous devez transmettre un API jeton avec la demande. Vous pouvez utiliser la curl commande depuis la ligne de commande du nœud principal pour exécuter REST des commandes. Pour plus d’informations, consultez les ressources suivantes :

L'exemple suivant montre comment utiliser le REST API for JupyterHub pour obtenir une liste d'utilisateurs. La commande transmet un jeton d'administration généré précédemment et utilise le port par défaut, 9443 JupyterHub, pour rediriger la sortie vers jq afin de faciliter la visualisation :

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