

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
<a name="emr-jupyterhub-administer"></a>

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
<a name="emr-jupyterhub-administer-cli"></a>

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
<a name="emr-jupyterhub-administer-steps"></a>

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](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-work-with-steps.html) nella *Guida alla gestione di Amazon EMR* e [Eseguire comandi e script su un cluster Amazon EMR](emr-commandrunner.md).

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](emr-commandrunner.md). Per vedere un esempio, consulta [Esempio: Script bash per aggiungere più utenti](emr-jupyterhub-pam-users.md#emr-jupyterhub-script-multuser).

## Amministrazione tramite REST APIs
<a name="emr-jupyterhub-administer-rest"></a>

Jupyter e JupyterHub il proxy HTTP JupyterHub forniscono REST APIs che è possibile utilizzare per inviare richieste. 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 maggiori informazioni, consulta le seguenti risorse:
+ [Utilizzo JupyterHub dell'API REST](http://jupyterhub.readthedocs.io/en/latest/reference/rest.html) nella documentazione di JupyterHub, che include le istruzioni per la generazione di token API
+ API del [server Jupyter Notebook attiva](https://github.com/jupyter/jupyter/wiki/Jupyter-Notebook-Server-API) GitHub
+ [configurable-http-proxy](https://github.com/jupyterhub/configurable-http-proxy)su GitHub

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](https://stedolan.github.io/jq/) per una visualizzazione più semplice:

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