Comprendere come creare e lavorare con i EMR cluster Amazon - 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à.

Comprendere come creare e lavorare con i EMR cluster Amazon

Questo argomento fornisce una panoramica dei EMR cluster Amazon, incluso come inviare il lavoro a un cluster, come vengono elaborati i dati e i vari stati che il cluster attraversa durante l'elaborazione.

Acquisire familiarità con cluster e nodi

Il componente centrale di Amazon EMR è il cluster. Un cluster è una raccolta di istanze Amazon Elastic Compute Cloud (AmazonEC2). Ogni istanza nel cluster è denominata nodo. Ogni nodo ha un ruolo all'interno del cluster, indicato come tipo di nodo. Amazon installa EMR anche diversi componenti software su ogni tipo di nodo, assegnando a ciascun nodo un ruolo in un'applicazione distribuita come Apache Hadoop.

I tipi di nodi in Amazon EMR sono i seguenti:

  • Nodo primario: un nodo che gestisce il cluster eseguendo componenti software per coordinare la distribuzione di dati e attività tra altri nodi per l'elaborazione. Il nodo primario tiene traccia dello stato delle attività e monitora lo stato del cluster. Ogni cluster dispone di un nodo primario ed è possibile creare un singolo nodo cluster con solo il nodo primario.

  • Nodo principale: un nodo con componenti software che eseguono attività e archiviano dati nel file system distribuito Hadoop (HDFS) sul cluster. I cluster multi-nodo dispongono di almeno un nodo principale.

  • Nodo di attività: un nodo con componenti software che esegue solo attività e non archivia dati. HDFS I nodi attività sono facoltativi.

Invio di lavori a un cluster

Quando gestisci un cluster su AmazonEMR, hai diverse opzioni su come specificare il lavoro da svolgere.

  • Fornisci l'intera definizione lavoro da svolgere in funzioni che specifichi come fasi al momento della creazione di un cluster. Questo viene generalmente fatto per i cluster che elaborano una determinata quantità di dati e poi terminano quando l'elaborazione è completa.

  • Crea un cluster di lunga durata e utilizza la EMR console Amazon EMRAPI, Amazon o la procedura AWS CLI di invio, che può contenere uno o più lavori. Per ulteriori informazioni, consulta Invia il lavoro a un EMR cluster Amazon.

  • Crea un cluster, connettiti al nodo primario e agli altri nodi in base alle esigenze utilizzando SSH e utilizzando le interfacce fornite dalle applicazioni installate per eseguire attività e inviare query, tramite script o in modo interattivo. Per ulteriori informazioni, consulta la Amazon EMR Release Guide.

Elaborazione di dati

Quando avvii il cluster, devi scegliere i framework e le applicazioni da installare per le tue esigenze di elaborazione dati. Per elaborare i dati nel tuo EMR cluster Amazon, puoi inviare lavori o richieste direttamente alle applicazioni installate oppure puoi eseguire passaggi nel cluster.

Invio diretto di processi alle applicazioni

Puoi inviare lavori e interagire direttamente con il software installato nel tuo EMR cluster Amazon. A tale scopo, in genere, ci si connette al nodo primario attraverso una connessione sicura e si accede alle interfacce e agli strumenti disponibili per il software che è in esecuzione direttamente sul cluster. Per ulteriori informazioni, consulta Connect a un EMR cluster Amazon.

Esecuzione di fasi per elaborare i dati

Puoi inviare uno o più passaggi ordinati a un EMR cluster Amazon. Ogni fase è un'unità di lavoro che contiene le istruzioni per manipolare i dati per l'elaborazione da parte di software installato sul cluster.

Di seguito è riportato un processo di esempio che si articola in quattro fasi:

  1. Invio di un set di dati di input per l'elaborazione.

  2. Elaborazione dell'output della prima fase con un programma Pig.

  3. Elaborazione di un secondo set di dati di input con un programma Hive.

  4. Scrittura di un set di dati di output.

In genere, quando elabori dati in AmazonEMR, l'input è costituito da dati memorizzati come file nel file system sottostante scelto, come Amazon S3 o. HDFS Questi dati passano da una fase all'altra della sequenza di elaborazione. La fase finale scrive i dati di output in un percorso specificato, ad esempio un bucket Amazon S3.

Le fasi vengono eseguite nella sequenza seguente:

  1. Una richiesta viene inviata per iniziare le fasi di elaborazione.

  2. Lo stato di tutti i passaggi è impostato su. PENDING

  3. Quando inizia il primo passaggio della sequenza, il relativo stato cambia in RUNNING. Gli altri passaggi rimangono PENDINGinvariati.

  4. Una volta completato il primo passaggio, il relativo stato diventa. COMPLETED

  5. Viene avviato il passaggio successivo della sequenza e il relativo stato diventa. RUNNING Al termine, il relativo stato diventa. COMPLETED

  6. Questo schema si ripete per ogni fase fino al loro completamento e alla fine dell'elaborazione.

Il seguente diagramma rappresenta la sequenza delle fasi e il cambiamento di stato delle stesse durante la loro elaborazione.

Diagramma di sequenza per Amazon EMR che mostra i diversi stati delle fasi del cluster.

Se un passaggio fallisce durante l'elaborazione, il relativo stato cambia in FAILED. È possibile stabilire il passaggio successivo per ogni fase. Per impostazione predefinita, tutti i passaggi rimanenti della sequenza sono impostati su CANCELLEDe non vengono eseguiti se un passaggio precedente fallisce. È inoltre possibile scegliere di ignorare l'errore e consentire alle fasi rimanenti di proseguire o di terminare il cluster immediatamente.

Il diagramma seguente rappresenta la sequenza delle fasi e il cambiamento di stato predefinito quando una fase ha esito negativo durante l'elaborazione.

Diagramma di sequenza per Amazon che EMR mostra cosa succede ai passaggi successivi quando una fase precedente del cluster fallisce.

Comprensione del ciclo di vita del cluster

Un EMR cluster Amazon di successo segue questo processo:

  1. Amazon effettua EMR innanzitutto il EC2 provisioning delle istanze nel cluster per ogni istanza in base alle tue specifiche. Per ulteriori informazioni, consulta Configurazione dell'hardware e della rete del EMR cluster Amazon. Per tutti i casi, Amazon EMR utilizza l'impostazione predefinita AMI per Amazon EMR o un Amazon Linux personalizzato da AMI te specificato. Per ulteriori informazioni, consulta Utilizzo di una soluzione personalizzata AMI per fornire maggiore flessibilità per la configurazione dei EMR cluster Amazon. Durante questa fase, lo stato del cluster è STARTING.

  2. Amazon EMR esegue le azioni di bootstrap che specifichi su ogni istanza. È possibile utilizzare le operazioni di bootstrap per installare applicazioni personalizzate ed eseguire le personalizzazioni necessarie. Per ulteriori informazioni, consulta Crea azioni di bootstrap per installare software aggiuntivo con un cluster Amazon EMR. Durante questa fase, lo stato del cluster è BOOTSTRAPPING.

  3. Amazon EMR installa le applicazioni native specificate al momento della creazione del cluster, come Hive, Hadoop, Spark e così via.

  4. Una volta completate le operazioni di bootstrap e installate le applicazioni native, lo stato del cluster è RUNNING. A questo punto, puoi connetterti alle istanze del cluster e il cluster eseguirà in sequenza tutte le fasi specificate durante la creazione del cluster. È possibile aggiungere ulteriori fasi, che vengono eseguite dopo il completamento di tutte le fasi precedenti. Per ulteriori informazioni, consulta Invia il lavoro a un EMR cluster Amazon.

  5. Dopo l'esecuzione corretta delle fasi, il cluster entra nello stato WAITING. Se un cluster è configurato per terminare in automatico al completamento dell'ultima fase, passa allo stato TERMINATING e poi allo stato TERMINATED. Se il cluster è configurato per attendere, è necessario terminarlo manualmente quando non è più necessario. Quando viene terminato manualmente, il cluster passa allo stato TERMINATING e poi allo stato TERMINATED.

Un errore durante il ciclo di vita del cluster fa sì che Amazon interrompa il cluster e tutte le relative istanze, EMR a meno che non abiliti la protezione dalla terminazione. Se un cluster viene terminato a causa di un errore, i dati archiviati al suo interno vengono eliminati e lo stato del cluster viene impostato su TERMINATED_WITH_ERRORS. Se hai attivato la protezione dall'arresto, è possibile recuperare i dati dal cluster e quindi rimuovere la protezione e terminare il cluster. Per ulteriori informazioni, consulta Utilizzo della protezione dalla terminazione per proteggere i EMR cluster Amazon da arresti accidentali.

Il diagramma seguente rappresenta il ciclo di vita di un cluster e come ogni fase del ciclo di vita viene associata a un particolare stato del cluster.

Diagramma per Amazon EMR che mostra il ciclo di vita del cluster e il modo in cui ogni fase del ciclo di vita è mappata a un particolare stato del cluster.