JupyterHub configurazione e amministrazione - Amazon EMR

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

JupyterHub configurazione e amministrazione

JupyterHub e i relativi componenti vengono eseguiti all'interno di un contenitore Docker denominato jupyterhub che esegue il sistema operativo Ubuntu. Esistono diversi modi per amministrare i componenti in esecuzione all'interno del container.

avvertimento

Le personalizzazioni eseguite all'interno del container potrebbero non persistere in caso di riavvio del container. Ti consigliamo di creare uno script o automatizzare la configurazione del container in modo da riprodurre le personalizzazioni più facilmente.

Amministrazione mediante la riga di comando

In caso di connessione al nodo master tramite SSH, puoi inviare comandi utilizzando l'interfaccia a riga di comando (CLI) del Docker e specificando il container per nome (jupyterhub) o ID. Ad esempio, sudo docker exec jupyterhub command esegue i comandi riconosciuti dal sistema operativo o un'applicazione in esecuzione all'interno del container. Puoi utilizzare questo metodo per aggiungere utenti al sistema operativo e installare applicazioni e librerie aggiuntive all'interno del container Docker. Ad esempio, l'immagine del container predefinito include Conda per installazione di pacchetti, pertanto puoi eseguire il comando seguente sulla riga di comando del nodo master per installare un'applicazione, Keras, all'interno del container:

sudo docker exec jupyterhub conda install keras

Amministrazione inviando fasi

Le fasi sono un modo per inviare lavori a un cluster. Puoi inviare fasi all'avvio di un cluster o puoi inviare fasi a un cluster in esecuzione. I comandi eseguiti sulla riga di comando possono essere inviati come fasi mediante command-runner.jar. Per ulteriori informazioni, consulta la sezione relativa all'Utilizzo di fasi mediante la CLI e la console nella Guida alla gestione di Amazon EMR e Eseguire comandi e script su un cluster Amazon EMR.

Ad esempio, puoi usare il seguente AWS CLI comando su un computer locale per installare Keras nello stesso modo in cui lo hai fatto dalla riga di comando del nodo master nell'esempio precedente:

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"

Inoltre, puoi creare uno script di una sequenza di fasi, caricare lo script in Amazon S3, quindi utilizzare script-runner.jar per eseguire lo script durante la creazione del cluster o l'aggiunta dello script come una fase. Per ulteriori informazioni, consulta Eseguire comandi e script su un cluster Amazon EMR. Per vedere un esempio, consulta Esempio: Script bash per aggiungere più utenti.

Amministrazione utilizzando API REST

Jupyter e il proxy HTTP JupyterHub forniscono API REST che è possibile utilizzare per inviare richieste. JupyterHub Per inviare richieste a JupyterHub, è necessario passare un token API con la richiesta. Puoi utilizzare il comando curl dalla riga di comando del nodo master per eseguire i comandi REST. Per ulteriori informazioni, consulta le seguenti risorse:

L'esempio seguente dimostra l'utilizzo dell'API REST per JupyterHub ottenere un elenco di utenti. Il comando passa un token di amministrazione generato in precedenza e utilizza la porta predefinita, 9443, for JupyterHub, reindirizzando l'output a jq per una visualizzazione più semplice:

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