

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à.

# Avvio del server della cronologia di Spark
<a name="monitor-spark-ui-history"></a>

Puoi utilizzare un server della cronologia Spark per visualizzare i log di Spark sull'infrastruttura. Puoi vedere le stesse visualizzazioni nella AWS Glue console per i AWS Glue job run su versioni AWS Glue 4.0 o successive con i log generati nel formato Standard (anziché legacy). Per ulteriori informazioni, consulta [Monitoraggio dei processi tramite l'interfaccia utente Web di Apache Spark](monitor-spark-ui.md).

Puoi avviare il server di cronologia Spark utilizzando un AWS CloudFormation modello che ospita il server su un'istanza EC2 o avviarlo localmente utilizzando Docker.

**Topics**
+ [Avvio del server di cronologia Spark e visualizzazione dell'interfaccia utente Spark utilizzando AWS CloudFormation](#monitor-spark-ui-history-cfn)
+ [Avvio del server della cronologia Spark e visualizzazione dell'interfaccia utente di Spark mediante Docker](#monitor-spark-ui-history-local)

## Avvio del server di cronologia Spark e visualizzazione dell'interfaccia utente Spark utilizzando AWS CloudFormation
<a name="monitor-spark-ui-history-cfn"></a>

Puoi utilizzare un AWS CloudFormation modello per avviare il server di cronologia Apache Spark e visualizzare l'interfaccia utente web di Spark. Questi modelli sono esempi che è necessario modificare per soddisfare i requisiti.

**Per avviare il server di cronologia Spark e visualizzare l'interfaccia utente Spark utilizzando CloudFormation**

1. Scegli uno dei pulsanti **Launch Stack (Avvia stack)** nella tabella seguente. Questo avvia lo stack sulla console. CloudFormation     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/glue/latest/dg/monitor-spark-ui-history.html)

1. Nella pagina **Specify template (Specifica modello)**, scegli **Next (Avanti)**.

1. Nella pagina **Specify stack details (Specifica dettagli stack)**, immetti **Stack name (Nome stack)**. Inserisci informazioni aggiuntive sotto **Parameters (Parametri)**.

   1. 

**Configurazione dell'interfaccia utente di Spark**

      Inserisci le informazioni che seguono:
      + **Intervallo di indirizzi IP**: l'intervallo di indirizzi IP che può essere utilizzato per visualizzare l'interfaccia utente di Spark. Se desideri limitare l'accesso da un intervallo di indirizzi IP specifico, devi utilizzare un valore personalizzato. 
      + **Porta del server di cronologia**: la porta per l'interfaccia utente di Spark. Puoi usare il valore predefinito.
      + **Directory del log di eventi**: scegli la posizione in cui sono archiviati i log di eventi Spark dagli endpoint di sviluppo o dal processo AWS Glue. È necessario utilizzare **s3a://** per lo schema di percorso dei log di eventi.
      + **Posizione del pacchetto Spark**: puoi usare il valore di default.
      + **Keystore path: percorso** SSL/TLS keystore per HTTPS. Se desideri utilizzare un file keystore personalizzato, puoi specificare il percorso S3 `s3://path_to_your_keystore_file` qui. Se lasci questo parametro vuoto, viene generato e utilizzato un keystore basato su certificato autofirmato.
      + **Keystore password (Password keystore)**: inserisci una password del keystore SSL/TLS per HTTPS.

   1. 

**Configurazione di un'istanza EC2**

      Inserisci le informazioni che seguono:
      + **Tipo di istanza**: il tipo di istanza Amazon EC2 che ospita il server della cronologia di Spark. Poiché questo modello avvia un'istanza Amazon EC2 nel tuo account, il costo di Amazon EC2 verrà addebitato separatamente nel tuo account.
      + **ID AMI più recente**: l'ID AMI di Amazon Linux 2 per l'istanza del server della cronologia di Spark. Puoi usare il valore predefinito.
      + **ID VPC**: l'ID del cloud privato virtuale (VPC) per l'istanza del server della cronologia di Spark. Puoi utilizzare uno qualsiasi dei file VPCs disponibili nel tuo account L'utilizzo di un VPC predefinito con un [ACL di rete predefinito non è consigliato](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html#default-network-acl). Per ulteriori informazioni, consulta [VPC predefinito e sottoreti predefinite](https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html) e [Creazione di un VPC](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#Create-VPC) nella *Guida per l'utente di Amazon VPC*.
      + **ID sottorete**: l'ID dell'istanza del server della cronologia di Spark. Puoi utilizzare una qualsiasi delle sottoreti nel VPC. Devi essere in grado di raggiungere la rete dal client alla sottorete. Se desideri accedere tramite Internet, devi utilizzare una sottorete pubblica che dispone dell'Internet gateway nella tabella di routing.

   1. Scegli **Next (Successivo)**.

1. **Nella pagina **Configura le opzioni dello stack**, per utilizzare le credenziali utente correnti per determinare come CloudFormation creare, modificare o eliminare le risorse nello stack, scegli Avanti.** Inoltre, nella sezione **Autorizzazioni**, è possibile specificare un ruolo da utilizzare al posto delle autorizzazioni utente correnti, dopodiché occorre scegliere **Successivo**.

1. Nella pagina **Review (Revisione)**, rivedi il modello. 

   **Seleziona **Riconosco che CloudFormation potrebbe creare risorse IAM**, quindi scegli Create stack.**

1. Attendi la creazione dello stack.

1. Apri la scheda **Outputs (Output)**.

   1. Copia l'URL di **SparkUiPublicUrl**se stai usando una sottorete pubblica.

   1. Copia l'URL di **SparkUiPrivateUrl**se stai usando una sottorete privata.

1. Apri un browser Web e incolla l'URL. Ciò consente di accedere al server tramite HTTPS sulla porta specificata. Il tuo browser potrebbe non riconoscere il certificato del server. Se ciò accade, ignora la protezione e procedi comunque. 

## Avvio del server della cronologia Spark e visualizzazione dell'interfaccia utente di Spark mediante Docker
<a name="monitor-spark-ui-history-local"></a>

Se preferisci l'accesso locale (non mantenere un'istanza EC2 per il server della cronologia Apache Spark), puoi anche utilizzare Docker per avviare il server della cronologia Apache Spark e visualizzare l'interfaccia utente di Spark in locale. Questo Dockerfile è un esempio che devi modificare per soddisfare i tuoi requisiti. 

 **Prerequisiti** 

Per informazioni su come installare Docker sul laptop, vedi la [community di Docker Engine](https://docs.docker.com/install/).

**Per avviare il server della cronologia Spark e visualizzare l'interfaccia utente di Spark in locale utilizzando Docker**

1. Scarica file da GitHub.

   Scarica il Dockerfile e `pom.xml` dagli [esempi di codice di  AWS Glue](https://github.com/aws-samples/aws-glue-samples/tree/master/utilities/Spark_UI/).

1. Stabilisci se desideri utilizzare le credenziali utente o le credenziali dell'utente federato per accedere a AWS.
   + Per utilizzare le credenziali utente correnti per l'accesso AWS, recuperate i valori da utilizzare per ` AWS_ACCESS_KEY_ID` e `AWS_SECRET_ACCESS_KEY` nel `docker run` comando. Per ulteriori informazioni, consulta [Gestione delle chiavi di accesso per gli utenti IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html) nella *Guida per l’utente di IAM *.
   + Per utilizzare gli utenti federati SAML 2.0 per l'accesso AWS, ottieni i valori per` AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` e. ` AWS_SESSION_TOKEN` Per ulteriori informazioni, consulta la sezione relativa alla [richiesta di credenziali di sicurezza provvisorie](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html)

1. Determina la posizione della directory del log di eventi da utilizzare nel comando `docker run`.

1. Crea l'immagine Docker utilizzando i file nella directory locale, utilizzando il nome ` glue/sparkui` e il tag `latest`.

   ```
   $ docker build -t glue/sparkui:latest . 
   ```

1. Crea e avvia il container docker.

   Nei comandi seguenti, utilizza i valori ottenuti in precedenza nei passaggi 2 e 3.

   1. Per creare il container docker utilizzando le credenziali utente, utilizza un comando simile al seguente

      ```
      docker run -itd -e SPARK_HISTORY_OPTS="$SPARK_HISTORY_OPTS -Dspark.history.fs.logDirectory=s3a://path_to_eventlog
       -Dspark.hadoop.fs.s3a.access.key=AWS_ACCESS_KEY_ID -Dspark.hadoop.fs.s3a.secret.key=AWS_SECRET_ACCESS_KEY"
       -p 18080:18080 glue/sparkui:latest "/opt/spark/bin/spark-class org.apache.spark.deploy.history.HistoryServer"
      ```

   1. Per creare il container docker utilizzando credenziali temporanee, utilizzare ` org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider` come provider e fornisci i valori delle credenziali ottenuti nel passaggio 2. Per ulteriori informazioni, consulta [Using Session Credentials with Temporary AWSCredentials Provider](https://hadoop.apache.org/docs/stable/hadoop-aws/tools/hadoop-aws/index.html#Using_Session_Credentials_with_TemporaryAWSCredentialsProvider) nella documentazione *Hadoop: Integration with Amazon Web Services*.

      ```
      docker run -itd -e SPARK_HISTORY_OPTS="$SPARK_HISTORY_OPTS -Dspark.history.fs.logDirectory=s3a://path_to_eventlog
       -Dspark.hadoop.fs.s3a.access.key=AWS_ACCESS_KEY_ID -Dspark.hadoop.fs.s3a.secret.key=AWS_SECRET_ACCESS_KEY
       -Dspark.hadoop.fs.s3a.session.token=AWS_SESSION_TOKEN
       -Dspark.hadoop.fs.s3a.aws.credentials.provider=org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider"
       -p 18080:18080 glue/sparkui:latest "/opt/spark/bin/spark-class org.apache.spark.deploy.history.HistoryServer"
      ```
**Nota**  
Questi parametri di configurazione provengono dal [Modulo  Hadoop-AWS](https://hadoop.apache.org/docs/stable/hadoop-aws/tools/hadoop-aws/index.html). Potrebbe essere necessario aggiungere una configurazione specifica in base al proprio caso d'uso. Ad esempio: gli utenti in regioni isolate dovranno configurare il ` spark.hadoop.fs.s3a.endpoint`.

1. Apri `http://localhost:18080` nel browser per visualizzare l'interfaccia utente di Spark in locale.