Debug di applicazioni e processi con EMR Studio - Amazon EMR

Debug di applicazioni e processi con EMR Studio

Con Amazon EMR Studio, è possibile avviare interfacce di applicazioni dati per analizzare le applicazioni e le esecuzioni di processo nel browser.

Inoltre, è possibile avviare le interfacce utente persistenti fuori cluster per Amazon EMR in esecuzione su cluster EC2 dalla console di Amazon EMR. Per ulteriori informazioni, consulta Visualizzazione di interfacce utente delle applicazioni persistenti.

Nota

A seconda delle impostazioni del browser, potrebbe essere necessario abilitare i popup per l'apertura dell'interfaccia utente di un'applicazione.

Per informazioni sulla configurazione e sull'utilizzo delle interfacce delle applicazioni, consulta Il Timeline Server di YARN, Monitoraggio e strumentazione o Panoramica dell'interfaccia utente Tez.

Esecuzione del debug di Amazon EMR su processi Amazon EC2

Workspace UI
Avvio di un'interfaccia utente su cluster da un file notebook

Quando si utilizza Amazon EMR versione 5.33.0 e successive, è possibile avviare l'interfaccia utente Web Spark (l'interfaccia utente Spark o Spark History Server) da un notebook nel WorkSpace.

Le interfacce utente su cluster funzionano con i kernel PySpark, Spark o SparkR. La dimensione massima del file visualizzabile per i log eventi o i log del container di Spark è di 10 MB. Se i file di log superano i 10 MB, si consiglia di utilizzare lo Spark History Server persistente anziché l'interfaccia utente Spark su cluster per eseguire il debug dei processi.

Importante

Affinché EMR Studio possa avviare le interfacce utente delle applicazioni su cluster da un Workspace, il cluster deve essere in grado di comunicare con il Gateway Amazon API. È necessario configurare il cluster EMR per consentire il traffico di rete in uscita verso Amazon API Gateway e assicurarsi che Amazon API Gateway sia raggiungibile dal cluster.

L'interfaccia utente Spark accede ai log del container risolvendo i nomi host. Se si utilizza un nome di dominio personalizzato, è necessario assicurarsi che i nomi host dei nodi del cluster possano essere risolti da Amazon DNS o dal server DNS specificato. A tale scopo, imposta le opzioni DHCP (Dynamic Host Configuration Protocol) per l'Amazon Virtual Private Cloud (VPC) associato al cluster. Per ulteriori informazioni sulle opzioni DHCP, consulta Set di opzioni DHCP nella Guida per l'utente di Amazon Virtual Private Cloud.

  1. In EMR Studio, apri il WorkSpace che desideri utilizzare e assicurati che sia collegato a un cluster Amazon EMR in esecuzione su EC2. Per istruzioni, consultare Collegamento di un calcolo a un WorkSpace EMR Studio.

  2. Apri un file notebook e utilizza il kernel PySpark, Spark o SparkR. Per selezionare un kernel, scegli il nome del kernel in alto a destra della barra degli strumenti del notebook per aprire la finestra di dialogo Select Kernel (Seleziona kernel). Il nome viene visualizzato come No Kernel! (Nessun kernel!) se non è stato selezionato alcun kernel.

  3. Esegui il codice del notebook. Quando avvii il contesto Spark, viene visualizzato come output nel notebook. Potrebbero essere necessari alcuni secondi prima di visualizzarlo. Se hai avviato il contesto Spark, è possibile eseguire il comando %%info per accedere a un collegamento all'interfaccia utente Spark in qualsiasi momento.

    Nota

    Se i collegamenti dell'interfaccia utente Spark non funzionano o non vengono visualizzati dopo alcuni secondi, crea una nuova cella del notebook ed esegui il comando %%info per rigenerare i collegamenti.

    Screenshot delle informazioni principali dell'applicazione Spark, con collegamento all'interfaccia utente di Spark. Il collegamento viene visualizzato in un blocco note quando si esegue un'applicazione Spark.
  4. Per avviare l'interfaccia utente Spark, seleziona Link (Collegamento) in Spark UI (Interfaccia utente Spark). Se l'applicazione Spark è in esecuzione, l'interfaccia utente Spark si apre in una nuova scheda. Se l'applicazione è stata completata, si apre Spark History Server.

    Dopo aver avviato l'interfaccia utente Spark, è possibile modificare l'URL nel browser per aprire il ResourceManager o il Timeline Server di YARN. Aggiungi uno dei percorsi seguenti dopo amazonaws.com.

    Interfaccia utente Web Path Esempio di URL modificato
    YARN ResourceManager /rm https://j-examplebby5ij.emrappui-prod.eu-west-1.amazonaws.com/rm
    Timeline Server di Yarn /yts https://j-examplebby5ij.emrappui-prod.eu-west-1.amazonaws.com/yts
    Spark History Server /shs https://j-examplebby5ij.emrappui-prod.eu-west-1.amazonaws.com/shs
Studio UI
Avvio dell'interfaccia utente persistente del Timeline Server di YARN, di Spark History Server o di Tez dall'interfacia utente di EMR Studio
  1. In EMR Studio, seleziona Amazon EMR su EC2 a sinistra della pagina per aprire l'elenco di cluster Amazon EMR su EC2.

  2. Filtra l'elenco dei cluster per name (nome), state (stato) oppure ID immettendo valori nella casella di ricerca. Puoi anche effettuare una ricerca per time range (intervallo temporale) di creazione.

  3. Seleziona un cluster e scegli Launch application UIs (Avvia interfacce utente applicazioni) per selezionare l'interfaccia utente di un'applicazione. L'interfaccia utente dell'applicazione si apre in una nuova scheda del browser e potrebbe richiedere del tempo per il caricamento.

Esegui il debug di EMR Studio in esecuzione su EMR Serverless

Analogamente ad Amazon EMR in esecuzione su Amazon EC2, puoi utilizzare l'interfaccia utente di WorkSpace per analizzare le tue applicazioni EMR Serverless. Dall'interfaccia utente WorkSpaces, quando utilizzi le versioni 6.14.0 e successive di Amazon EMR, è possibile avviare l'interfaccia utente Web Spark (l'interfaccia utente Spark o Spark History Server) da un notebook nel WorkSpace. Per comodità, forniamo anche un collegamento al log dei driver per accedere rapidamente ai log dei driver Spark.

Esecuzione del debug delle esecuzioni di processo Amazon EMR su EKS con Spark History Server

Quando invii un processo eseguito a un cluster Amazon EMR su EKS, puoi accedere ai registri per quel processo eseguito utilizzando Spark History Server. Spark History Server fornisce strumenti per il monitoraggio delle applicazioni Spark, come un elenco di fasi e processi di pianificazione, un riepilogo delle dimensioni RDD e dell'utilizzo della memoria e informazioni ambientali. È possibile avviare Spark History Server per Amazon EMR sulle esecuzioni del processo EKS nei seguenti modi:

  • Quando invii l'esecuzione di un processo utilizzando EMR Studio con un endpoint gestito da Amazon EMR su EKS, puoi avviare Spark History Server da un file notebook nel tuo Workspace.

  • Quando si invia un processo eseguito utilizzando la AWS CLI o AWS SDK per Amazon EMR su EKS, è possibile avviare Spark History Server dall'interfaccia utente di EMR Studio.

Per informazioni su come utilizzare Spark History Server, consulta Monitoraggio e strumentazionenella documentazione di Apache Spark. Per ulteriori informazioni sulle esecuzioni di processo, consulta Concetti e componenti nella Guida allo sviluppo di Amazon EMR su EKS.

Per l'avvio dello Spark History Server persistente da un file notebook nella tua istanza WorkSpace di EMR Studio
  1. Aprire un'istanza WorkSpace connessa a un cluster Amazon EMR su EKS.

  2. Seleziona e apri il file del notebook nell'istanza WorkSpace.

  3. Scegli Spark UI (Interfaccia utente Spark) nella parte superiore di un file notebook per aprire lo Spark History Server persistente in una nuova scheda.

Per avviare Spark History Server dall'interfaccia utente di EMR Studio
Nota

L'elenco Jobs (Processi) nell'interfaccia utente di EMR Studio visualizza solo le esecuzioni di processi inviati utilizzando la AWS CLI o AWS SDK per Amazon EMR su EKS.

  1. In EMR Studio, seleziona Amazon EMR su EKS a sinistra della pagina.

  2. Cerca il cluster virtuale Amazon EMR su EKS utilizzato per inviare l'esecuzione del processo. Puoi filtrare l'elenco dei cluster per status (stato) o ID immettendo valori nella casella di ricerca.

  3. Seleziona il cluster per aprire la relativa pagina dei dettagli. Nella pagina dei dettagli vengono visualizzate informazioni sul cluster, ad esempio ID, spazio dei nomi e stato. La pagina mostra anche un elenco di tutti i processi eseguiti inviati a quel cluster.

  4. Dalla pagina dei dettagli del cluster, seleziona un processo da sottoporre a debug.

  5. In alto a destra dell'elenco Jobs (Processi), seleziona Launch Spark History Server (Avvia Spark History Server) per aprire l'interfaccia dell'applicazione in una nuova scheda del browser.