

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

# Che cos'è Amazon EMR?
<a name="emr-what-is-emr"></a>

Amazon EMR, che in precedenza si chiamava Amazon Elastic MapReduce, è una piattaforma di cluster gestita che semplifica l'esecuzione di framework di big data, come Apache [Hadoop e Apache](https://aws.amazon.com/elasticmapreduce/details/hadoop) [Spark, per elaborare e analizzare](https://aws.amazon.com/elasticmapreduce/details/spark) grandi quantità di dati. AWS Utilizzando questi framework e i relativi progetti open source, è possibile elaborare i dati per scopi di analisi e carichi di lavoro di business intelligence. Amazon EMR consente inoltre di trasformare e spostare grandi quantità di dati all'interno e all'esterno di altri datastore e database AWS , come Amazon Simple Storage Service (Amazon S3) e Amazon DynamoDB. 

Se si usa Amazon EMR per la prima volta, è consigliabile iniziare leggendo anche le seguenti sezioni:
+ [Amazon EMR](https://aws.amazon.com/elasticmapreduce/): questo servizio fornisce i punti salienti di Amazon EMR, i dettagli del prodotto e informazioni sui prezzi.
+ [Tutorial: Nozioni di base su Amazon EMR](emr-gs.md): questo tutorial ti consente di iniziare a utilizzare rapidamente Amazon EMR.

**Topics**
+ [Comprendere come creare e utilizzare i cluster Amazon EMR](emr-overview.md)
+ [Vantaggi dell'utilizzo di Amazon EMR](emr-overview-benefits.md)
+ [Architettura e livelli di servizio di Amazon EMR](emr-overview-arch.md)

# Comprendere come creare e utilizzare i cluster Amazon EMR
<a name="emr-overview"></a>

Questo argomento fornisce una panoramica dei cluster Amazon EMR e include come inviare il lavoro a un cluster, come vengono elaborati i dati e le varie condizioni del cluster durante l'elaborazione. 

**Topics**
+ [Acquisire familiarità con cluster e nodi](#emr-overview-clusters)
+ [Invio di lavori a un cluster](#emr-work-cluster)
+ [Elaborazione di dati](#emr-overview-data-processing)
+ [Comprensione del ciclo di vita del cluster](#emr-overview-cluster-lifecycle)

## Acquisire familiarità con cluster e nodi
<a name="emr-overview-clusters"></a>

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

 I tipi di nodo 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 attività**: un nodo con componenti software che esegue solo le attività e non archivia i dati in HDFS. I nodi attività sono facoltativi.

## Invio di lavori a un cluster
<a name="emr-work-cluster"></a>

Quando si esegue un cluster su Amazon EMR, si hanno diverse opzioni circa il modo di specificare il lavoro che deve essere svolto. 
+ 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 a lunga durata e utilizza la console Amazon EMR, l'API Amazon EMR o AWS CLI la procedura di invio, che può contenere uno o più lavori. Per ulteriori informazioni, consulta [Invia il lavoro a un cluster Amazon EMR](emr-work-with-steps.md). 
+ Crea un cluster, connettiti al nodo primario e ad altri nodi in base alle esigenze attraverso SSH e utilizza le interfacce che le applicazioni installate forniscono per eseguire le attività e inviare le query, con script o in modo interattivo. Per ulteriori informazioni, consulta la [Guida ai rilasci di Amazon EMR](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/). 

## Elaborazione di dati
<a name="emr-overview-data-processing"></a>

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 cluster Amazon EMR, è possibile inviare processi o query direttamente alle applicazioni installate, oppure è possibile eseguire *fasi* nel cluster.

### Invio diretto di processi alle applicazioni
<a name="emr-overview-submitting-jobs"></a>

È possibile inviare processi e interagire direttamente con il software installato nel cluster Amazon EMR. 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 [Connettiti a un cluster Amazon EMR](emr-connect-master-node.md).

### Esecuzione di fasi per elaborare i dati
<a name="emr-overview-steps"></a>

È possibile inviare una o più fasi ordinate a un cluster Amazon EMR. 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.

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

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

1. Scrittura di un set di dati di output.

Generalmente, quando si elaborano dati in Amazon EMR, l'input è costituito da dati memorizzati come file nel file system sottostante scelto, ad esempio 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.

1. Lo stato di tutte le fasi è impostato su **PENDING (IN SOSPESO)**.

1. Quando la prima fase nella sequenza inizia, il relativo stato diventa **RUNNING (IN ESECUZIONE)**. Le altre fasi rimangono nello stato **PENDING (IN SOSPESO)**.

1. Dopo il completamento della prima fase, il suo stato diventa **COMPLETED** (COMPLETATO).

1. La fase successiva nella sequenza inizia e il relativo stato diventa **RUNNING (IN ESECUZIONE)**. Quando viene completata, il relativo stato diventa **COMPLETED** (COMPLETATO).

1. 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.\]](http://docs.aws.amazon.com/it_it/emr/latest/ManagementGuide/images/step-sequence.png)


Se una fase ha esito negativo durante l'elaborazione, lo stato diventa **FAILED (NON RIUSCITO)**. È possibile stabilire il passaggio successivo per ogni fase. Per impostazione predefinita, le restanti fasi nella sequenza sono impostate sullo stato **CANCELLED (ANNULLATO)** e non eseguite in caso di insuccesso di una fase precedente. È 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 EMR che mostra cosa accade alle fasi successive quando una fase precedente del cluster ha esito negativo.\]](http://docs.aws.amazon.com/it_it/emr/latest/ManagementGuide/images/step-sequence-failed.png)


## Comprensione del ciclo di vita del cluster
<a name="emr-overview-cluster-lifecycle"></a>

 Un cluster Amazon EMR andato a buon fine segue questa procedura: 

1. Innanzitutto, Amazon EMR esegue il provisioning di istanze EC2 nel cluster per ogni istanza in base alle specifiche. Per ulteriori informazioni, consulta [Configurazione dell'hardware e della rete del cluster Amazon EMR](emr-plan-instances.md). Per tutte le istanze, Amazon EMR usa l'AMI predefinita di Amazon EMR o un'AMI Amazon Linux personalizzata specificata dall'utente. Per ulteriori informazioni, consulta [Utilizzo di un'AMI personalizzata per fornire maggiore flessibilità per la configurazione del cluster Amazon EMR](emr-custom-ami.md). Durante questa fase, lo stato del cluster è `STARTING`.

1. Amazon EMR esegue le *operazioni di bootstrap* specificate per 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](emr-plan-bootstrap.md). Durante questa fase, lo stato del cluster è `BOOTSTRAPPING`. 

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

1. 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 cluster Amazon EMR](emr-work-with-steps.md). 

1. 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 porta Amazon EMR a terminare il cluster e tutte le istanze correlate, a meno che non sia stata abilitata la protezione da cessazione. 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 dalle terminazioni per proteggere i cluster Amazon EMR da arresti accidentali](UsingEMR_TerminationProtection.md). 

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. 

![\[Il diagramma relativo ad Amazon EMR rappresenta il ciclo di vita di un cluster e come ogni fase del ciclo di vita viene associata a un particolare stato del cluster.\]](http://docs.aws.amazon.com/it_it/emr/latest/ManagementGuide/images/emr-cluster-lifecycle.png)


# Vantaggi dell'utilizzo di Amazon EMR
<a name="emr-overview-benefits"></a>

L'uso di Amazon EMR offre molti vantaggi. Questi includono la flessibilità offerta AWS e i risparmi sui costi disponibili rispetto alla creazione di risorse locali proprie. Questa sezione ne presenta una panoramica e fornisce link a ulteriori informazioni per approfondire l'argomento.

**Topics**
+ [Risparmio sui costi](#emr-benefits-cost)
+ [AWS integrazione](#emr-benefits-integration)
+ [Implementazione](#emr-benefits-deployment)
+ [Scalabilità e flessibilità](#emr-benefits-scalability)
+ [Affidabilità](#emr-benefits-reliability)
+ [Sicurezza](#emr-benefits-security)
+ [Monitoraggio](#emr-benefits-monitoring)
+ [Interfacce di gestione](#emr-what-tools)

## Risparmio sui costi
<a name="emr-benefits-cost"></a>

Il prezzo di Amazon EMR dipende dal tipo di istanza, dal numero di istanze Amazon EC2 distribuite e dalla Regione in cui si avvia il cluster. I prezzi su richiesta offrono tariffe basse, ma è possibile ridurre ulteriormente i costi acquistando Istanze riservate o Istanze spot. In alcuni casi, le Istanze spot possono offrire risparmi significativi fino a un decimo dei prezzi su richiesta.

**Nota**  
Se utilizzi Amazon S3, Amazon Kinesis o DynamoDB con il cluster EMR, sono previsti costi aggiuntivi che vengono fatturati separatamente rispetto all'utilizzo di Amazon EMR.

**Nota**  
Quando si configura un cluster Amazon EMR in una sottorete privata, si consiglia di configurare anche gli [endpoint VPC per Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html). Se il cluster EMR si trova in una sottorete privata senza endpoint VPC per Simple Storage Service (Amazon S3), verranno addebitati costi aggiuntivi del gateway NAT associati al traffico S3 perché il traffico tra il cluster EMR e S3 non rimarrà all'interno del VPC.

Per ulteriori informazioni su opzioni di prezzo e dettagli, consulta [Prezzi di Amazon EMR](https://aws.amazon.com/elasticmapreduce/pricing/).

## AWS integrazione
<a name="emr-benefits-integration"></a>

Amazon EMR si integra con altri AWS servizi per fornire capacità e funzionalità relative al networking, allo storage, alla sicurezza e così via per il tuo cluster. Di seguito sono elencati diversi esempi di questa integrazione:
+ Amazon EC2 per le istanze che costituiscono i nodi del cluster
+ Amazon Virtual Private Cloud (Amazon VPC) per configurare la rete virtuale in cui è possibile avviare le istanze
+ Amazon S3 per archiviare i dati di input e output
+ Amazon CloudWatch per monitorare le prestazioni dei cluster e configurare gli allarmi
+ AWS Identity and Access Management (IAM) per configurare le autorizzazioni
+ AWS CloudTrail per controllare le richieste fatte al servizio
+ AWS Data Pipeline per pianificare e avviare i cluster
+ AWS Lake Formation per scoprire, catalogare e proteggere i dati in un data lake Amazon S3

## Implementazione
<a name="emr-benefits-deployment"></a>

Il cluster EMR è costituito da istanze EC2 che eseguono il lavoro inviato al cluster. Quando si avvia il cluster, Amazon EMR configura le istanze con le applicazioni scelte, ad esempio Apache Hadoop o Spark. Scegli la dimensione e il tipo di istanza più adatti alle esigenze di elaborazione del cluster: elaborazione in batch, query a bassa latenza, streaming di dati o archiviazione di grandi quantità di dati. Per ulteriori informazioni sui tipi di istanza disponibili per Amazon EMR, consulta [Configurazione dell'hardware e della rete del cluster Amazon EMR](emr-plan-instances.md).

Amazon EMR offre svariati modi per configurare software sul cluster. Ad esempio, è possibile installare una versione di Amazon EMR con un set scelto di applicazioni che possono includere framework versatili, come Hadoop, e applicazioni come Hive, Pig o Spark. È anche possibile installare una delle diverse distribuzioni di MapR. Amazon EMR usa Amazon Linux, che ti consente di installare il software sul tuo cluster manualmente sfruttando il gestore dei pacchetti yum o direttamente dalla fonte. Per ulteriori informazioni, consulta [Configura le applicazioni all'avvio del cluster Amazon EMR](emr-plan-software.md).

## Scalabilità e flessibilità
<a name="emr-benefits-scalability"></a>

Amazon EMR fornisce flessibilità per ridurre o aumentare le dimensioni del cluster al variare delle esigenze di computing. È possibile ridimensionare il cluster per aggiungere istanze per i carichi di lavoro di picco e rimuovere le istanze per controllare i costi quando tali carichi di lavoro si riducono. Per ulteriori informazioni, consulta [Ridimensiona manualmente un cluster Amazon EMR in esecuzione](emr-manage-resize.md).

 Amazon EMR fornisce anche la possibilità di eseguire più gruppi di istanze in modo da poter utilizzare le Istanze on demand in un gruppo per garantire la potenza di elaborazione insieme alle Istanze spot in un altro gruppo e completare i processi più velocemente e a costi inferiori. È anche possibile mescolare diversi tipi di istanza per sfruttare i prezzi migliori per un tipo di Istanza spot rispetto a un'altra. Per ulteriori informazioni, consulta [Quando occorre utilizzare le istanze Spot?](emr-plan-instances-guidelines.md#emr-plan-spot-instances). 

Inoltre, Amazon EMR offre la flessibilità di utilizzare diversi file system per i dati di input, output e intermedi. Ad esempio, puoi scegliere il File system distribuito Hadoop (HDFS) che viene eseguito sui nodi primario e principali del cluster per elaborare i dati che devi archiviare oltre il ciclo di vita del cluster. È possibile scegliere il File system EMR (EMR File System, EMRFS) per utilizzare Amazon S3 come livello di dati per le applicazioni in esecuzione sul cluster in modo da poter separare il calcolo e l'archiviazione e mantenere i dati al di fuori del ciclo di vita del cluster. Come ulteriore vantaggio, EMRFS offre la possibilità di ridurre o aumentare le dimensioni per le esigenze di calcolo e archiviazione in modo indipendente. È possibile scalare le esigenze di calcolo ridimensionando il cluster e le esigenze di archiviazione con Amazon S3. Per ulteriori informazioni, consulta [Utilizzo di sistemi di storage e file con Amazon EMR](emr-plan-file-systems.md).

## Affidabilità
<a name="emr-benefits-reliability"></a>

Amazon EMR monitora i nodi del cluster e termina e sostituisce in automatico un'istanza in caso di esito negativo.

Amazon EMR fornisce opzioni di configurazione che controllano la modalità di terminazione del cluster (automatica o manuale). Se configuri la terminazione automatica del cluster, questa viene terminata una volta completate tutte le fasi. Si tratta di un cluster transitorio. Tuttavia, è possibile configurare il cluster in modo che continui a funzionare anche dopo il completamento dell'elaborazione, in modo da poter scegliere di terminarlo manualmente quando non è più necessario. In alternativa, è possibile creare un cluster, interagire direttamente con le applicazioni installate e quindi terminare manualmente il cluster quando non è più necessario. I cluster in questi esempi vengono definiti *cluster di lunga durata*. 

Inoltre, è possibile configurare la protezione di terminazione per evitare che le istanze principali del cluster vengano terminate a causa di errori o problemi durante l'elaborazione. Quando la protezione di terminazione è abilitata, è possibile ripristinare i dati dalle istanze prima della terminazione. Le impostazioni predefinite di queste opzioni differiscono a seconda che si avvii il cluster utilizzando la console, la CLI o l'API. Per ulteriori informazioni, consulta [Utilizzo della protezione dalle terminazioni per proteggere i cluster Amazon EMR da arresti accidentali](UsingEMR_TerminationProtection.md).

## Sicurezza
<a name="emr-benefits-security"></a>

Amazon EMR sfrutta altri AWS servizi, come IAM e Amazon VPC, e funzionalità come le coppie di chiavi Amazon EC2, per aiutarti a proteggere cluster e dati.

### IAM
<a name="emr-benefits-iam"></a>

Amazon EMR si integra con IAM per gestire le autorizzazioni. L'utente definisce le autorizzazioni utilizzando policy IAM da collegare a utenti o gruppi IAM. Le autorizzazioni definite nella policy determinano le azioni che gli utenti o i membri del gruppo possono eseguire e le risorse a cui possono accedere. Per ulteriori informazioni, consulta [Funzionamento di Amazon EMR con IAM](security_iam_service-with-iam.md).

Inoltre, Amazon EMR usa ruoli IAM per il servizio Amazon EMR stesso e il profilo dell'istanza EC2 per le istanze. Questi ruoli concedono al servizio e alle istanze le autorizzazioni per accedere ad altri servizi per tuo conto. AWS Sono disponibili un ruolo predefinito per il servizio Amazon EMR e un ruolo predefinito per il profilo dell'istanza EC2. I ruoli predefiniti utilizzano policy AWS gestite, che vengono create automaticamente la prima volta che si avvia un cluster EMR dalla console e si scelgono le autorizzazioni predefinite. È anche possibile creare i ruoli IAM predefiniti dalla AWS CLI. Se invece desideri gestire le autorizzazioni AWS, puoi scegliere ruoli personalizzati per il servizio e il profilo dell'istanza. Per ulteriori informazioni, consulta [Configura i ruoli di servizio IAM per le autorizzazioni Amazon EMR su servizi e risorse AWS](emr-iam-roles.md).

### Gruppi di sicurezza
<a name="emr-benefits-security-groups"></a>

Amazon EMR utilizza gruppi di sicurezza per controllare il traffico in entrata e in uscita verso le tue istanze EC2. Quando avvii il cluster, Amazon EMR utilizza un gruppo di sicurezza per l'istanza principale e un gruppo di sicurezza condiviso dalle core/task instances. Amazon EMR configures the security group rules to ensure communication among the instances in the cluster. Optionally, you can configure additional security groups and assign them to your primary and core/task istanze per regole più avanzate. Per ulteriori informazioni, consulta [Controlla il traffico di rete con gruppi di sicurezza per il tuo cluster Amazon EMR](emr-security-groups.md).

### Crittografia
<a name="emr-benefits-encryption"></a>

Amazon EMR supporta la crittografia lato server e lato client Amazon S3 facoltativa con EMRFS per proteggere i dati archiviati in Amazon S3. Con la crittografia lato server, Amazon S3 crittografa i dati dopo il caricamento.

Con la crittografia lato client, i processi di crittografia e decrittografia avvengono nel client EMRFS sul tuo cluster EMR. Puoi gestire la chiave principale per la crittografia lato client utilizzando il AWS Key Management Service (AWS KMS) o il tuo sistema di gestione delle chiavi.

Per ulteriori informazioni, consulta [Configurazione della crittografia Amazon S3 con le proprietà EMRFS](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-emrfs-encryption.html).

### Amazon VPC
<a name="emr-benefits-vpc"></a>

Amazon EMR supporta l'avvio di cluster in un cloud privato virtuale (Virtual Private Cloud, VPC) in Amazon VPC. Un VPC è una rete virtuale isolata AWS che offre la possibilità di controllare aspetti avanzati della configurazione e dell'accesso alla rete. Per ulteriori informazioni, consulta [Configurazione della rete in un VPC per Amazon EMR](emr-plan-vpc-subnet.md).

### AWS CloudTrail
<a name="emr-benefits-cloudtrail"></a>

Amazon EMR si integra con CloudTrail la registrazione delle informazioni sulle richieste effettuate da o per conto del tuo account. AWS Con queste informazioni, puoi tenere traccia di chi e quando sta accedendo al cluster e dell'indirizzo IP da cui è stata effettuata la richiesta. Per ulteriori informazioni, consulta [Registrazione delle chiamate AWS API EMR utilizzando AWS CloudTrail](logging-using-cloudtrail.md).

### Coppie di chiavi Amazon EC2
<a name="emr-benefits-key-pairs"></a>

È possibile monitorare e interagire con il cluster creando una connessione sicura tra il computer remoto e il nodo primario. Per questa connessione dovrai utilizzare il protocollo di rete Secure Shell (SSH) oppure Kerberos per l'autenticazione. Se si utilizza SSH, è necessaria una coppia di chiavi Amazon EC2. Per ulteriori informazioni, consulta [Usa una coppia di chiavi EC2 per le credenziali SSH per Amazon EMR](emr-plan-access-ssh.md).

## Monitoraggio
<a name="emr-benefits-monitoring"></a>

Puoi utilizzare le interfacce di gestione e i file di log di Amazon EMR per risolvere problemi del cluster, come esiti negativi o errori. Amazon EMR consente di archiviare i file di log in Amazon S3 in modo da poter archiviare i log e risolvere eventuali problemi anche dopo la terminazione del cluster. Amazon EMR fornisce anche uno strumento opzionale per il debug nella console Amazon EMR per sfogliare i file di log in base a fasi, processi e attività. Per ulteriori informazioni, consulta [Configurazione del logging e del debug dei cluster Amazon EMR](emr-plan-debugging.md).

Amazon EMR si integra con CloudWatch per tracciare i parametri delle prestazioni per il cluster e i lavori all'interno del cluster. Puoi configurare gli allarmi in base a diversi parametri, ad esempio se il cluster è inattivo o la percentuale di spazio di archiviazione utilizzata. Per ulteriori informazioni, consulta [Monitoraggio dei parametri di Amazon EMR con CloudWatch](UsingEMR_ViewingMetrics.md).

## Interfacce di gestione
<a name="emr-what-tools"></a>

 Esistono vari modi per interagire con Amazon EMR: 
+ **Console**: un'interfaccia utente grafica che consente di avviare e gestire i cluster. Attraverso la console si compilano i moduli Web per specificare i dettagli dei cluster da avviare, visualizzare i dettagli dei cluster esistenti, eseguire il debug e terminare i cluster. L'uso della console è il modo più semplice per iniziare a familiarizzare con Amazon EMR: infatti, non richiede competenze in termini di programmazione. [La console è disponibile online a casa. https://console.aws.amazon.com/elasticmapreduce/](https://console.aws.amazon.com/elasticmapreduce/home) 
+ **AWS Command Line Interface (AWS CLI)** — Un'applicazione client che esegui sul tuo computer locale per connetterti ad Amazon EMR e creare e gestire cluster. AWS CLI Contiene un set di comandi ricco di funzionalità specifici per Amazon EMR. Consente di scrivere script che automatizzano il processo di avvio e gestione dei cluster. Se preferisci lavorare da una riga di comando, usare la AWS CLI è l'opzione migliore. Per ulteriori informazioni, consulta [Amazon EMR](https://docs.aws.amazon.com/cli/latest/reference/emr/index.html) nella *Guida di riferimento ai comandi della AWS CLI *.
+ **Software Development Kit (SDK)**: SDKs fornisce funzioni che richiamano Amazon EMR per creare e gestire cluster. Permettono di scrivere applicazioni che automatizzano il processo di creazione e gestione dei cluster. Utilizzare gli SDK è l'opzione migliore per ampliare o personalizzare la funzionalità di Amazon EMR. Amazon EMR è attualmente disponibile nei seguenti formatiSDKs: Go, Java, .NET (C\$1 e VB.NET), Node.js, PHP, Python e Ruby. Per ulteriori informazioni su questi argomenti SDKs, consulta [Tools for AWS e librerie](https://aws.amazon.com/tools/) di [esempio per codice e librerie di Amazon EMR](https://docs.aws.amazon.com/code-library/latest/ug/emr_code_examples.html). 
+ **Web Service API**: un'interfaccia di basso livello che è possibile utilizzare per chiamare il servizio Web direttamente, utilizzando JSON. Utilizzare l'API è l'opzione migliore per creare un SDK personalizzato che invochi Amazon EMR. Per ulteriori informazioni, consulta la [Guida di riferimento alle API di Amazon EMR](https://docs.aws.amazon.com/ElasticMapReduce/latest/API/Welcome.html). 

# Architettura e livelli di servizio di Amazon EMR
<a name="emr-overview-arch"></a>

L'architettura di servizio di Amazon EMR è composta da diversi livelli, ognuno dei quali fornisce determinate capacità e funzionalità al cluster. Questa sezione fornisce una panoramica dei livelli e i componenti di ciascuno di essi.

**Topics**
+ [Archiviazione](#emr-arch-storage)
+ [Gestione delle risorse del cluster](#emr-arch-resource-management)
+ [Framework di elaborazione dati](#emr-arch-processing-frameworks)
+ [Applicazioni e programmi](#emr-arch-applications)

## Archiviazione
<a name="emr-arch-storage"></a>

Il livello di archiviazione include diversi file system utilizzati con il cluster. Esistono diversi tipi di opzioni di archiviazione, come indicato di seguito.

### File system distribuito Hadoop (HDFS)
<a name="emr-storage-hdfs"></a>

File system distribuito Hadoop (HDFS) è un file di sistema distribuito e scalabile per Hadoop. HDFS distribuisce i dati che archivia tra le istanze del cluster, archiviando più copie dei dati su istanze diverse per garantire che non vadano persi in caso di guasto di una singola istanza. HDFS è uno spazio di archiviazione temporaneo che viene recuperato quando si termina un cluster. HDFS è utile per memorizzare nella cache i risultati intermedi durante l' MapReduce elaborazione o per carichi di lavoro con I/O casuali significativi. 

Per ulteriori informazioni, consulta [Opzioni e comportamento di storage delle istanze in Amazon EMR](emr-plan-storage.md) oppure la [HDFS User Guide](http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html) (Guida per l'utente di HDFS) sul sito Web di Apache Hadoop.

### File system EMR (EMRFS)
<a name="emr-storage-emrfs"></a>

Utilizzando il file system EMR (EMRFS), Amazon EMR estende Hadoop per aggiungere la possibilità di accedere direttamente ai dati memorizzati in Amazon S3 come se si trattasse di un file system del tipo di HDFS. È possibile utilizzare HDFS o Amazon S3 come file system nel cluster. Amazon S3 viene utilizzato principalmente per memorizzare i dati di input e di output, mentre i risultati intermedi sono memorizzati in HDFS.

### File system locale
<a name="emr-storage-lfs"></a>

Il file system locale fa riferimento a un disco con connessione locale. Alla creazione di un cluster Hadoop, ogni nodo viene creato da un'istanza Amazon EC2 fornita con un blocco preconfigurato di archiviazione su disco precollegato, chiamato archivio istanza. I dati in qualsiasi volume di archivio istanza sono persistenti solo durante il ciclo di vita della relativa istanza Amazon EC2.

## Gestione delle risorse del cluster
<a name="emr-arch-resource-management"></a>

Il livello di gestione delle risorse è responsabile della gestione delle risorse del cluster e della pianificazione dei processi per l'elaborazione dei dati.

Per impostazione predefinita, Amazon EMR usa YARN (Yet Another Resource Negotiator), che è un componente introdotto in Apache Hadoop 2.0 per gestire centralmente le risorse del cluster per più framework di elaborazione dati. Tuttavia, esistono altri framework e applicazioni offerti in Amazon EMR che non utilizzano YARN come gestore di risorse. Ogni nodo di Amazon EMR può inoltre contare su un agente che gestisce i componenti YARN, preserva l'integrità del cluster e comunica con Amazon EMR.

Poiché le Istanze Spot vengono spesso utilizzate per eseguire nodi attività, Amazon EMR dispone delle funzionalità predefinite per la pianificazione dei processi YARN in modo che i processi in esecuzione non abbiano esito negativo quando i nodi attività in esecuzione sulle Istanze Spot vengono terminati. Amazon EMR esegue questa operazione consentendo ai processi master delle applicazioni di funzionare solo sui nodi principali. Il processo master dell'applicazione controlla i processi in esecuzione e deve rimanere attivo per tutta la durata del processo.

Amazon EMR rilascio 5.19.0 e successivi utilizzano la caratteristica integrata [etichette nodo YARN](https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/NodeLabel.html) per questo scopo. (Le versioni precedenti utilizzavano una patch di codice). Le proprietà nelle classificazioni di configurazione `yarn-site` e `capacity-scheduler` sono configurate per impostazione predefinita in modo che capacity-scheduler e fair-scheduler YARN sfruttino le etichette dei nodi. Amazon EMR etichetta in automatico i nodi principali con l'etichetta `CORE` e imposta le proprietà in modo che i master dell'applicazione siano pianificati solo sui nodi con l'etichetta CORE. La modifica manuale delle proprietà correlate nelle classificazioni di configurazione del sito di YARN e del pianificatore di capacità o direttamente nei file XML associati potrebbe interrompere o alterare questa funzionalità.

## Framework di elaborazione dati
<a name="emr-arch-processing-frameworks"></a>

Il livello di framework di elaborazione dati è il motore utilizzato per elaborare e analizzare i dati. Sono disponibili molti framework che funzionano su YARN o che hanno una propria gestione delle risorse. Sono disponibili diversi framework per diversi tipi di esigenze di elaborazione, come batch, interattivi, in-memory, streaming e così via. Il framework scelto varia a seconda del caso d'uso. Questo ha un impatto sulle lingue e sulle interfacce disponibili dal livello dell'applicazione, che è il livello utilizzato per interagire con i dati che si desidera elaborare. I principali framework di elaborazione disponibili per Amazon EMR sono Hadoop e Spark. MapReduce 

### Hadoop MapReduce
<a name="emr-processing-framework-mapreduce"></a>

Hadoop MapReduce è un modello di programmazione open source per il calcolo distribuito. Questo modello semplifica il processo di scrittura di applicazioni distribuite in parallelo gestendo tutta la logica, mentre le funzioni Map e Reduce vengono fornite dall'utente. La funzione Map mappa i dati in gruppi di coppie chiave-valore denominati risultati intermedi. La funzione Reduce combina i risultati intermedi, applica algoritmi aggiuntivi e genera l'output finale. Sono disponibili diversi framework MapReduce, come Hive, che genera automaticamente i programmi Map e Reduce.

Per ulteriori informazioni, consulta [How map and reduce operations are actually carried out (Come vengono eseguite le operazioni Map e Reduce)](http://wiki.apache.org/hadoop2/HadoopMapReduce) sul sito Web del wiki di Apache Hadoop.

### Apache Spark
<a name="emr-processing-framework-spark"></a>

Spark è un framework di cluster e un modello di programmazione per l'elaborazione di carichi di lavoro di big data. Come Hadoop MapReduce, Spark è un sistema di elaborazione distribuito open source, ma utilizza grafici aciclici diretti per i piani di esecuzione e la memorizzazione nella cache in memoria per i set di dati. Quando si esegue Spark su Amazon EMR, è possibile utilizzare EMRFS per accedere direttamente ai dati in Amazon S3. Spark supporta più moduli di query interattivi, come SparkSQL.

Per ulteriori informazioni, consulta [Apache Spark su cluster Amazon EMR](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-spark.html) nella *Guida ai rilasci di Amazon EMR*.

## Applicazioni e programmi
<a name="emr-arch-applications"></a>

Amazon EMR supporta numerose applicazioni come Hive, Pig e la libreria Spark Streaming per fornire funzionalità quali l'utilizzo di linguaggi di livello superiore per creare carichi di lavoro di elaborazione, l'utilizzo di algoritmi di machine learning, la creazione di applicazioni di elaborazione del flusso di lavoro e la creazione di data warehouse. Inoltre, Amazon EMR supporta anche i progetti open source che sfruttano le proprie funzionalità di gestione dei cluster anziché utilizzare YARN.

È possibile interagire con le applicazioni eseguite in Amazon EMR attraverso varie librerie e lingue. Ad esempio, puoi usare Java, Hive o Pig con MapReduce o Spark Streaming, Spark SQL MLlib e GraphX con Spark.

Per ulteriori informazioni, consulta la [Guida ai rilasci di Amazon EMR](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/).