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

Quando ci si connette al nodo master utilizzandoSSH, è possibile emettere comandi utilizzando l'interfaccia a riga di comando Docker (CLI) e specificando il contenitore per nome () o ID. jupyterhub 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 Lavora con i passaggi utilizzando la console CLI and nella Amazon EMR Management Guide eEseguire 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 REST APIs

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

L'esempio seguente mostra l'utilizzo di REST API for 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 .