Panoramica di Hadoop 2.0 Cluster Architecture Federation



Apache Hadoop 2.x comprende miglioramenti significativi rispetto a Hadoop 1.x. Questo blog parla di Hadoop 2.0 Cluster Architecture Federation e dei suoi componenti.

Hadoop 2.0 Cluster Architecture Federation

Introduzione:

In questo blog, approfondirò la Hadoop 2.0 Cluster Architecture Federation. Apache Hadoop si è evoluto molto dal rilascio di Apache Hadoop 1.x. Come saprai dal mio precedente blog che il file segue la topologia master / slave dove NameNode funge da daemon master ed è responsabile della gestione di altri nodi slave chiamati DataNode. In questo ecosistema, questo singolo Master Daemon o NameNode diventa un collo di bottiglia e, al contrario, le aziende devono avere NameNode che è altamente disponibile. Proprio questo motivo è diventato il fondamento di HDFS Federation Architecture e Architettura HA (High Availability) .

cos'è uno sviluppatore blockchain

Gli argomenti che ho trattato in questo blog sono i seguenti:





  • L'attuale architettura HDFS
  • Limitazioni dell'attuale architettura HDFS
  • Architettura della federazione HDFS

Panoramica dell'attuale architettura HDFS:

Architettura HDFS con spazio dei nomi singolo - Panoramica della federazione dell

Come puoi vedere nella figura sopra, l'attuale HDFS ha due livelli:



  • Spazio dei nomi HDFS (NS): Questo livello è responsabile della gestione delle directory, dei file e dei blocchi. Fornisce tutte le operazioni del file system relative allo spazio dei nomi come la creazione, l'eliminazione o la modifica dei file o delle directory dei file.
  • Livello di archiviazione: Comprende due componenti di base.
    1. Gestione dei blocchi : Esegue le seguenti operazioni:
      • Controlla periodicamente gli heartbeat di DataNodes e gestisce l'appartenenza di DataNode al cluster.
      • Gestisce i rapporti di blocco e mantiene la posizione del blocco.
      • Supporta le operazioni di blocco come la creazione, la modifica, l'eliminazione e l'allocazione della posizione del blocco.
      • Mantiene il fattore di replica coerente in tutto il cluster.

2. Archiviazione fisica : È gestito dai DataNodes che sono responsabili della memorizzazione dei dati e quindi fornisce l'accesso in lettura / scrittura ai dati archiviati in HDFS.

Pertanto, l'attuale architettura HDFS consente di avere un unico spazio dei nomi per un cluster. In questa architettura, un singolo NameNode è responsabile della gestione dello spazio dei nomi. Questa architettura è molto comoda e facile da implementare. Inoltre, fornisce capacità sufficienti per soddisfare le esigenze del piccolo cluster di produzione.

Limitazioni dell'attuale HDFS:

Come discusso in precedenza, l'attuale HDFS era sufficiente per le esigenze e i casi d'uso di un piccolo cluster di produzione. Ma grandi organizzazioni come Yahoo e Facebook hanno riscontrato alcune limitazioni poiché il cluster HDFS è cresciuto in modo esponenziale. Diamo una rapida occhiata ad alcuni dei limiti:



  1. Lo spazio dei nomi è non scalabile come DataNodes. Quindi, possiamo avere solo quel numero di DataNode nel cluster che un singolo NameNode può gestire.
  2. I due livelli, ovvero il livello dello spazio dei nomi e il livello di archiviazione sono strettamente accoppiati il che rende molto difficile l'implementazione alternativa di NameNode.
  3. Le prestazioni dell'intero sistema Hadoop dipendono da portata del NameNode. Pertanto, l'intera prestazione di tutte le operazioni HDFS dipende dal numero di attività che il NameNode può gestire in un determinato momento.
  4. Il NameNode memorizza l'intero spazio dei nomi nella RAM per un accesso rapido. Questo porta a limitazioni in termini di Dimensione della memoria cioè il numero di oggetti dello spazio dei nomi (file e blocchi) che un singolo server dello spazio dei nomi può far fronte.
  5. Molte delle organizzazioni (fornitori) che dispongono di distribuzione HDFS consentono a più organizzazioni (tenant) di utilizzare lo spazio dei nomi del cluster. Quindi, non c'è separazione dello spazio dei nomi e quindi c'è nessun isolamento tra le organizzazioni tenant che utilizzano il cluster.

Architettura della federazione HDFS:

  • In HDFS Federation Architecture, abbiamo la scalabilità orizzontale del servizio dei nomi. Pertanto, abbiamo più NameNode che sono federati, ovvero indipendenti l'uno dall'altro.
  • I DataNode sono presenti nella parte inferiore, ovvero lo strato di archiviazione sottostante.
  • Ogni DataNode si registra con tutti i NameNode nel cluster.
  • I DataNodes trasmettono heartbeat periodici, bloccano i rapporti e gestiscono i comandi dai NameNode.

Di seguito viene fornita la rappresentazione grafica dell'architettura della federazione HDFS:

Prima di andare avanti, lasciatemi parlare brevemente dell'immagine architettonica sopra:

  • Esistono più spazi dei nomi (NS1, NS2,…, NSn) e ciascuno di essi è gestito dal rispettivo NameNode.
  • Ogni spazio dei nomi ha il proprio pool di blocchi (NS1 ha il pool 1, NSk ha il pool k e così via).
  • Come mostrato nell'immagine, i blocchi dal pool 1 (azzurro cielo) sono memorizzati su DataNode 1, DataNode 2 e così via. Allo stesso modo, tutti i blocchi di ogni pool di blocchi risiederanno su tutti i DataNode.

Ora, vediamo in dettaglio i componenti dell'architettura della federazione HDFS:

Block Pool:

Il pool di blocchi non è altro che un insieme di blocchi appartenenti a uno specifico spazio dei nomi. Quindi, abbiamo una raccolta di pool di blocchi in cui ogni pool di blocchi è gestito indipendentemente dall'altro. Questa indipendenza in cui ogni pool di blocchi viene gestito in modo indipendente consente allo spazio dei nomi di creare ID di blocco per nuovi blocchi senza il coordinamento con altri spazi dei nomi. I data block presenti in tutti i block pool vengono memorizzati in tutti i DataNode. Fondamentalmente, il pool di blocchi fornisce un'astrazione tale che i blocchi di dati che risiedono nei DataNode (come nella Single Namespace Architecture) possono essere raggruppati in base a un particolare spazio dei nomi.

come usare trim in java

Volume spazio dei nomi:

Il volume dello spazio dei nomi non è altro che lo spazio dei nomi insieme al suo pool di blocchi. Pertanto, in HDFS Federation abbiamo più volumi dello spazio dei nomi. È un'unità di gestione autonoma, ovvero ogni volume dello spazio dei nomi può funzionare in modo indipendente. Se un NameNode o uno spazio dei nomi viene eliminato, verrà eliminato anche il pool di blocchi corrispondente che risiede sui DataNode.

Demo su Hadoop 2.0 Cluster Architecture Federation | Edureka

Ora, immagino che tu abbia una buona idea sull'architettura della federazione HDFS. È più un concetto teorico e le persone non lo usano in un sistema di produzione pratico in generale. Esistono alcuni problemi di implementazione con la Federazione HDFS che rendono difficile la distribuzione. quindi, il Architettura HA (High Availability) è preferibile per risolvere il problema del singolo punto di guasto. Ho coperto il Architettura HA HDFS nel mio prossimo blog.

Ora che hai compreso l'architettura della federazione HDFS di Hadoop, controlla il file da Edureka, una società di formazione online affidabile con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo. Il corso di formazione per la certificazione Edureka Big Data Hadoop aiuta gli studenti a diventare esperti in HDFS, Yarn, MapReduce, Pig, Hive, HBase, Oozie, Flume e Sqoop utilizzando casi d'uso in tempo reale nel settore Retail, Social Media, Aviation, Tourism, Finance.

Hai domande per noi? Per favore menzionalo nella sezione commenti e ti risponderemo.