Introduzione all'ecosistema Hadoop

Apache Hadoop è un sistema open source per archiviare ed elaborare in modo affidabile molte informazioni su molti computer di largo consumo. Hadoop è stato scritto per la prima volta in un documento e pubblicato nell'ottobre 2013 come "Google File System". Doug Cutting, che all'epoca lavorava in Yahoo, ha introdotto il nome di Hadoop Ecosystem in base al nome di elefante giocattolo di suo figlio. Se consideriamo il nucleo principale di Apache Hadoop, in primo luogo può considerare la parte di archiviazione, nota come Hadoop Distributed File System (HDFS), e in secondo luogo la parte di elaborazione, nota come modulo Map Reduce Programming. Hadoop in realtà divide un enorme file e li memorizza in più nodi nel cluster.

Il concetto di Hadoop Ecosystem

Il framework Apache Hadoop contiene principalmente i seguenti moduli:

  1. Hadoop Common: contiene tutte le librerie e le utilità necessarie per l'utilizzo del modulo Hadoop.
  2. Hadoop Distributed File System (HDFS): è uno dei file system distribuiti che aiuta a archiviare enormi dati in macchine multiple o di largo consumo. Inoltre, fornisce una grande utilità in caso di larghezza di banda, in genere fornisce una larghezza di banda molto elevata in un tipo di aggregato su un cluster.
  3. Hadoop Yarn: è stato introdotto nel 2012. Viene principalmente introdotto per la gestione delle risorse su tutto il sistema, anche in un cluster. In base alla capacità delle risorse, ha distribuito o programmato l'applicazione dell'utente secondo i requisiti.
  4. Hadoop MapReduce: aiuta principalmente a elaborare dati su larga scala attraverso la metodologia di programmazione di riduzione delle mappe.

Apache Hadoop aiuta sempre a ridurre i costi IT in termini di elaborazione e archiviazione di dati enormi in modo intelligente. Poiché Apache Hadoop è un open source e l'hardware è molto comunemente disponibile, ci aiuta sempre a gestire una corretta riduzione dei costi IT.

Software open source + hardware delle materie prime = riduzione dei costi IT

Ad esempio, se prendiamo in considerazione la ricezione giornaliera di file e directory 942787, che richiedono 4077936 blocchi, totale 5020723 blocchi. Quindi, se abbiamo configurato almeno 1, 46 PB di capacità, quindi per gestire il carico sopra, il file system distribuito utilizzerà 1, 09 PB, ovvero quasi il 74, 85% della capacità totale configurata, considerando 178 nodi attivi e 24 nodi morti.

L'ecosistema Hadoop è progettato principalmente per l'archiviazione e l'elaborazione di big data, che normalmente presentano alcune caratteristiche chiave come di seguito:

  • Volume

Il volume indica la dimensione dei dati effettivamente archiviati e generati. Dipende dalla dimensione dei dati è stato determinato che il set di dati è big data o no.

  • Varietà

Varietà indica natura, struttura e tipo di dati utilizzati.

  • Velocità

Velocità indica la velocità dei dati che sono stati archiviati e generati in un determinato flusso del processo di sviluppo.

  • veracità

Veracità indica la qualità dei dati acquisiti e aiuta anche l'analisi dei dati per raggiungere l'obiettivo previsto.

HDFS è progettato principalmente per archiviare una grande quantità di informazioni (terabyte o petabyte) su un gran numero di macchine in un cluster. Mantenendo sempre alcune caratteristiche comuni, come l'affidabilità dei dati, viene eseguito su hardware delle materie prime, utilizzando blocchi per archiviare un file o parte di quel file, utilizzare il modello 'write once read many'.

HDFS segue l'architettura seguente con il concetto di Nodo Nome e Nodo Dati.

La responsabilità del nodo nome (master):

- gestisce lo spazio dei nomi del file system

- mantiene la configurazione del cluster

- Responsabile della gestione della replica

La responsabilità di Data Node (Slaves):

- Memorizza i dati nel file system locale

- Riporta periodicamente al nodo del nome tramite il battito cardiaco

Operazione di scrittura HDFS:

Hadoop segue i passaggi seguenti per scrivere qualsiasi file di grandi dimensioni:

  1. Crea file e aggiorna l'immagine FS dopo aver ottenuto una richiesta di scrittura di file da qualsiasi client HDFS.
  2. Ottieni informazioni sulla posizione del blocco o sul nodo dati dal nodo nome.
  3. Scrivere il pacchetto in un singolo nodo di dati in modo parallelo.
  4. Riconoscere il completamento o accettare la scrittura di pacchetti e inviare informazioni al client Hadoop.

Pipeline di replica blocchi HDFS:

  1. Il client recupera un elenco di Datanode dal Namenode che ospiterà una replica di quel blocco
  2. Il client quindi scarica il blocco dati nel primo Datanode
  3. Il primo Datanode riceve un blocco, lo scrive e lo trasferisce al successivo nodo di dati nella pipeline
  4. Quando tutte le repliche vengono scritte, il client passa al blocco successivo nel file

Tolleranza ai guasti HDFS:

Un nodo di dati si è interrotto improvvisamente, in tal caso, HDFS ha la capacità di gestire automaticamente quello scenario. Innanzitutto, tutti i nodi nome ricevono sempre un battito cardiaco da ogni nodo dati, se in qualche modo ha perso un battito cardiaco da un nodo dati, considerando lo stesso nodo dati in basso, agiscono immediatamente per replicare automaticamente tutti i blocchi sui nodi rimanenti immediatamente per soddisfare la replica fattore.

Se il nodo nome rileva un nuovo nodo dati disponibile nel cluster, riequilibra immediatamente tutti i blocchi incluso il nodo dati aggiunto.

Ora in qualche modo la perdita del nodo Nome o fallita, in quel caso anche il nodo di backup che contiene un'immagine FS del nodo nome riproduce immediatamente tutte le operazioni FS e aumenta il nodo nome secondo il requisito. Ma in tal caso è necessario l'intervento manuale e l'intero framework dell'ecosistema Hadoop sarà disattivato per un paio di volte per impostare nuovamente un nuovo nodo di nomi. Quindi, in questo caso, il nodo del nome può essere un singolo punto di errore, per evitare questo scenario HDFS Federation introduce più cluster di configurazione del nodo del nome e ZooKeeper può gestire immediatamente un nodo del nome alternativo secondo i requisiti.

Esempi di ecosistema Hadoop

L'esempio completo dell'ecosistema Hadoop può essere adeguatamente spiegato nella figura seguente:

I dati possono provenire da qualsiasi tipo di fonte come Data Warehouse, Managed Document Repository, File Shares, Normal RDMS databased, o cloud o origini esterne. Tutti questi dati sono arrivati ​​a HDFS in modo strutturato o non strutturato o semi-strutturato. HDFS archivia tutti questi dati in modo distribuito, significa archiviare in modo molto intelligente il sistema di prodotti distribuiti.

Conclusione

L'ecosistema Hadoop è progettato principalmente per l'archiviazione e l'elaborazione di enormi dati che avrebbero dovuto presentare uno dei due fattori tra volume, velocità e varietà. Memorizza i dati in un sistema di elaborazione distribuito che gira su hardware delle materie prime. Considerando l'intero processo dell'ecosistema Hadoop, HDFS distribuisce i blocchi di dati e Map Reduce fornisce il framework di programmazione per leggere i dati da un file archiviato in HDFS.

Articoli consigliati:

Questa è stata una guida all'ecosistema Hadoop. Qui abbiamo discusso il concetto di base dell'ecosistema Hadoop, la sua architettura, le operazioni HDFS, gli esempi, la tolleranza agli errori HDFS ecc. Puoi anche leggere i seguenti articoli per saperne di più -

  1. Usi di Hadoop nel mondo reale
  2. Hadoop vs Splunk
  3. Carriera in Hadoop
  4. Hadoop vs SQL Performance

Categoria: