Come funziona Azure HDInsight

Completato

In questa unità si apprenderà come funziona Azure HDInsight. Verranno fornite informazioni sui componenti seguenti e su come interagiscono per fornire le funzionalità di controllo e gestione dei dati:

  • Apache Hadoop
  • Archiviazione di HDInsight
  • Elaborazione di HDInsight

Che cos'è Apache Hadoop?

Apache Hadoop è un sistema di elaborazione dati distribuito nel cloud alla base di HDInsight. Include tre componenti, descritti nella tabella seguente:

Componente di Apache Hadoop Descrizione
HDFS Il componente di Apache Hadoop HDFS (Hadoop Distributed File System) fornisce spazio di archiviazione per il sistema Hadoop.
YARN Il componente di Apache Hadoop YARN (Yet Another Resource Negotiator) fornisce l'elaborazione per il sistema.
MapReduce MapReduce è un modello di programmazione che consente di elaborare e analizzare i dati.

Come interagiscono i componenti?

Il diagramma seguente illustra i componenti di archiviazione ed elaborazione che interagiscono in un tipico cluster Hadoop di HDInsight. Sono illustrati i componenti seguenti:

  • Nodo head e nodi di lavoro, che si occupano dell'elaborazione.
  • Più centri di archiviazione BLOB del servizio di archiviazione di Azure (WASB) di Windows, all'interno dei nodi. HDFS interagisce con questi contenitori.
  • Più contenitori di archiviazione predefiniti, collegati e scollegati. Sono disponibili per i due nodi.

A diagram that depicts the head and worker nodes in Hadoop, then the multiple storage containers accessible to the nodes.

Si esaminerà ora il funzionamento dell'archiviazione e dell'elaborazione.

Come funziona l'archiviazione?

Il componente di archiviazione di un cluster non viene creato automaticamente quando si effettua il provisioning di un cluster HDInsight. Viene invece fornito da un sistema conforme a HDFS, ad esempio Archiviazione di Azure o Azure Data Lake.

La separazione del componente di archiviazione di un cluster dal componente di elaborazione offre alcuni vantaggi. Ad esempio, è possibile eliminare in modo sicuro tutti i cluster HDInsight usati solo per il calcolo senza doversi preoccupare di perdere i dati. Quando si aggiunge un cluster HDInsight, è necessario definire un file system predefinito.

Importante

Per l'archiviazione di Azure è necessario specificare un contenitore BLOB come file system predefinito.

L'impostazione di un file system predefinito garantisce che HDInsight possa risolvere i riferimenti a file relativi durante la ricerca di file.

Suggerimento

Quando si vuole aumentare lo spazio di archiviazione disponibile, è possibile collegare e scollegare ulteriori file system in base alle esigenze.

A diagram depicting the storage element from the previous diagram.

Come funziona l'elaborazione?

Quando si elaborano i dati, il componente di calcolo di un cluster Hadoop in HDInsight si suddivide in due aree logiche. La tabella seguente descrive queste due aree:

Componente Descrizione
Nodo head Il nodo head accetta e gestisce le richieste client e le passa ai nodi di lavoro.
Nodo di lavoro I nodi di lavoro elaborano i dati.

Nota

Il nodo head viene talvolta definito nodo master.

La maggior parte dei cluster contiene due nodi head, tra cui:

  • Nodo head attivo, che gestisce le connessioni client.
  • Nodo head passivo, che offre resilienza nel caso in cui il nodo attivo sia offline.

A diagram depicting the processing element in a typical Hadoop cluster.

Sia il nodo head che i nodi di lavoro possono connettersi direttamente a un file system HDFS collegato in locale o accedere ai dati archiviati in Archiviazione BLOB di Azure o in Azure Data Lake. I dati che vengono gestiti dipendono da due fattori:

  • Il modo in cui il modello di programmazione MapReduce ha definito come usare i dati
  • La modalità di allocazione del lavoro da parte del nodo head

Qual è la funzione di YARN?

YARN si occupa della gestione delle risorse all'interno di un cluster HDInsight. Quando si elaborano i dati, questo servizio gestisce le risorse e la pianificazione dei processi.

YARN si colloca tra HDFS e il sistema di calcolo del cluster HDInsight. Collabora con il nodo head per distribuire un processo tra i nodi di lavoro del cluster. Ciò consente di garantire che i processi di elaborazione dati vengano eseguiti in parallelo.