HBase
 sql >> Database >  >> NoSQL >> HBase

Ecosistema Hadoop – Introduzione ai componenti Hadoop

Nel nostro blog precedente abbiamo discusso di Introduzione a Hadoop in dettaglio. Ora in questo blog risponderemo cos'è l'ecosistema Hadoop e quali sono i ruoli dei componenti Hadoop.

In questo tutorial sui componenti Hadoop, discuteremo diversi componenti dell'ecosistema della famiglia Hadoop come HDFS, MapReduce, YARN, Hive, HBase, Pig, Zookeeper ecc.

Tutti questi componenti dell'ecosistema Hadoop vengono discussi insieme alle loro caratteristiche e responsabilità.

Esercitazione sull'ecosistema Hadoop

Apache Hadoop è lo strumento più potente dei Big Data. L'ecosistema Hadoop ruota attorno a tre componenti principali HDFS, MapReduce e YARN. Oltre a questi componenti Hadoop, ci sono anche altri componenti dell'ecosistema Hadoop, che svolgono un ruolo importante per potenziare le funzionalità di Hadoop.

ora comprendiamo in dettaglio i diversi componenti Hadoop.

a. HDFS

File system distribuito Hadoop (HDFS) è il sistema di archiviazione principale di Hadoop. HDFS archivia file molto grandi in esecuzione su un cluster di hardware di base.

Segue il principio di memorizzare un numero inferiore di file di grandi dimensioni piuttosto che un numero enorme di file di piccole dimensioni. HDFS memorizza i dati in modo affidabile anche in caso di guasto hardware. Pertanto, fornisce un accesso a velocità effettiva elevata all'applicazione accedendo in parallelo.

Componenti di HDFS:

  • NomeNodo – Funziona come Master nel cluster Hadoop. Namenode memorizza i metadati, ovvero il numero di blocchi, repliche e altri dettagli. I metadati sono presenti in memoria nel master. NameNode assegna le attività al nodo slave. Dovrebbe essere implementato su hardware affidabile in quanto è il fulcro di HDFS.
  • DataNode – Funziona come Slave nel cluster Hadoop. In Hadoop HDFS, DataNode è responsabile della memorizzazione dei dati effettivi in ​​HDFS. DataNode esegue anche operazioni di lettura e scrittura secondo la richiesta dei client. I DataNodes possono essere implementati anche su hardware di base.

b. MapReduce

Hadoop MapReduce è il livello di elaborazione dei dati di Hadoop. Elabora grandi dati strutturati e non strutturati archiviati in HDFS. MapReduce elabora anche un'enorme quantità di dati in parallelo.

Lo fa dividendo il lavoro (lavoro inviato) in una serie di attività indipendenti (sottolavoro). In Hadoop, MapReduce funziona suddividendo l'elaborazione in fasi:Mappa e Riduci.

  • Mappa – È la prima fase dell'elaborazione, dove specifichiamo tutto il codice logico complesso.
  • Riduci – È la seconda fase di elaborazione. Qui specifichiamo un'elaborazione leggera come aggregazione/somma.

c. FILATO

Hadoop YARN fornisce la gestione delle risorse. È il sistema operativo di Hadoop. Pertanto, è responsabile della gestione e del monitoraggio dei carichi di lavoro, dell'implementazione dei controlli di sicurezza. È una piattaforma centrale per fornire strumenti di governance dei dati tra i cluster Hadoop.

YARN consente più motori di elaborazione dati come streaming in tempo reale, elaborazione batch ecc.

Componenti di YARN:

  • Gestione risorse –  È un componente a livello di cluster e viene eseguito sulla macchina Master. Quindi gestisce le risorse e pianifica le applicazioni in esecuzione su YARN. Ha due componenti:Scheduler e Application Manager.
  • Gestione nodi –  È un componente a livello di nodo. Funziona su ogni macchina slave. Comunica continuamente con Resource Manager per rimanere aggiornato

d. Alveare

Apache Hive è un sistema di data warehouse open source utilizzato per eseguire query e analizzare set di dati di grandi dimensioni archiviati nei file Hadoop. Elabora dati strutturati e semi-strutturati in Hadoop.

Hive supporta anche l'analisi di set di dati di grandi dimensioni archiviati in HDFS e anche nel filesystem Amazon S3 è supportato da Hive. Hive utilizza il linguaggio chiamato HiveQL (HQL), che è simile a SQL. HiveQL traduce automaticamente le query di tipo SQL in lavori MapReduce.

es. Maiale

È una piattaforma linguistica di alto livello sviluppata per eseguire query su enormi set di dati archiviati in Hadoop HDFS. Maiale latino è un linguaggio usato in pig che è molto simile a SQL.

Pig carica i dati, applica i filtri richiesti e scarica i dati nel formato richiesto. Pig converte anche tutte le operazioni in attività Mappa e Riduci che vengono effettivamente elaborate su Hadoop.

Caratteristiche del maiale:

  • Estensibile – Gli utenti Pig possono creare funzioni personalizzate per soddisfare le loro particolari esigenze di elaborazione.
  • Auto-ottimizzazione –  Poiché Pig consente al sistema di ottimizzare automaticamente. Quindi, l'utente può concentrarsi sulla semantica.
  • Gestisce tutti i tipi di dati –  Pig analizza sia strutturato che non strutturato.

f. HBase

Apache HBase è un database NoSQL che viene eseguito su Hadoop. È un database che memorizza dati strutturati in tabelle che potrebbero avere miliardi di righe e milioni di colonne. HBase fornisce anche l'accesso in tempo reale per leggere o scrivere dati in HDFS.

Componenti di HBase:

  • Master HBase – Non fa parte dell'effettiva archiviazione dei dati. Ma esegue l'amministrazione (interfaccia per creare, aggiornare ed eliminare tabelle.).
  • Server della regione – È il nodo di lavoro. Gestisce le richieste di lettura, scrittura, aggiornamento ed eliminazione dei client. Il processo del server della regione viene eseguito anche su ogni nodo nel cluster Hadoop.

g. HCatalogo

È il livello di gestione delle tabelle e dell'archiviazione nella parte superiore di Apache Hadoop. HCatalog è un componente principale di Hive. Quindi, consente all'utente di archiviare i propri dati in qualsiasi formato e struttura. Supporta anche diversi componenti Hadoop per leggere e scrivere facilmente i dati dal cluster.

Vantaggi di HCatalog:

  • Offri visibilità agli strumenti di archiviazione e pulizia dei dati.
  • Con l'astrazione della tabella, HCatalog libera l'utente dal sovraccarico dell'archiviazione dei dati.
  • Abilita le notifiche sulla disponibilità dei dati.

io. Avro

È un progetto open source che fornisce servizi di serializzazione e scambio di dati per Hadoop. Utilizzando la serializzazione, i programmi di servizio possono serializzare i dati in file o messaggi.

Memorizza anche la definizione dei dati e i dati insieme in un messaggio o file. Quindi, questo rende facile per i programmi comprendere dinamicamente le informazioni memorizzate nel file o nel messaggio Avro.

Avro fornisce:

  • File contenitore, per memorizzare dati persistenti.
  • Chiamata a procedura remota.
  • Strutture di dati ricche.
  • Formato di dati binario compatto, veloce.

j. Risparmio

Apache Thrift è un framework software che consente lo sviluppo di servizi multilingua scalabili. Thrift viene utilizzato anche per la comunicazione RPC. Apache Hadoop esegue molte chiamate RPC, quindi esiste la possibilità di utilizzare Thrift per le prestazioni.

k. Trapano

Il trapano viene utilizzato per l'elaborazione di dati su larga scala. La progettazione del drill consiste nel ridimensionare diverse migliaia di nodi e interrogare petabyte di dati. È anche un motore di query distribuito a bassa latenza per set di dati su larga scala.

Il drill è anche il primo motore di query SQL distribuito che dispone di un modello senza schema.

Caratteristiche del trapano :

  • Trapanare i metadati decentralizzati –  Drill non ha requisiti per i metadati centralizzati. Gli utenti Drill non devono creare e gestire tabelle nei metadati per eseguire query sui dati.
  • Flessibilità – Drill fornisce un modello di dati gerarchico a colonne. Può rappresentare dati complessi e altamente dinamici e consentire anche un'elaborazione efficiente.
  • Scoperta di schemi dinamici – Per avviare il processo di esecuzione della query Drill non richiede alcuna specifica del tipo per i dati. Il drill inizia invece a elaborare i dati in unità denominate record batch. Rileva anche lo schema al volo durante l'elaborazione.

l. Mahout

È un framework open source utilizzato per creare algoritmi di apprendimento automatico scalabili. Una volta archiviati i dati in HDFS, mahout fornisce gli strumenti di data science per trovare automaticamente modelli significativi in ​​quei set di Big Data.

m. Sqoop

Viene utilizzato principalmente per importare ed esportare dati. Quindi, importa i dati da fonti esterne nei relativi componenti Hadoop come HDFS, HBase o Hive. Esporta anche i dati da Hadoop ad altre fonti esterne. Sqoop funziona con database relazionali come Teradata, Netezza, Oracle, MySQL.

n. Canale

Flume raccoglie, aggrega e sposta in modo efficiente una grande quantità di dati dalla sua origine e li rimanda a HDFS. Ha un'architettura molto semplice e flessibile basata su flussi di dati in streaming. Flume è tollerante ai guasti, anche un meccanismo affidabile.

Flume consente inoltre il flusso di dati dalla sorgente all'ambiente Hadoop. Utilizza un semplice modello di dati estensibile che consente l'applicazione di analisi online. Quindi, usando Flume possiamo ottenere i dati da più server immediatamente in Hadoop.

o. Ambar

È una piattaforma di gestione open source. È una piattaforma per il provisioning, la gestione, il monitoraggio e la protezione del cluster Apache Hadoop. La gestione di Hadoop diventa più semplice perché Ambari fornisce una piattaforma coerente e sicura per il controllo operativo.

Vantaggi di Ambari:

  • Installazione, configurazione e gestione semplificate –  Può creare e gestire in modo semplice ed efficiente cluster su larga scala.
  • Configurazione centralizzata della sicurezza –  Ambari configura la sicurezza del cluster sull'intera piattaforma. Riduce anche la complessità da amministrare.
  • Altamente estensibile e personalizzabile –  Ambari è altamente estensibile per gestire i servizi personalizzati.
  • Piena visibilità sullo stato del cluster – Ambari garantisce che il cluster sia sano e disponibile con un approccio olistico al monitoraggio.

pag. Custode dello zoo

Zookeeper in Hadoop è un servizio centralizzato. Mantiene le informazioni di configurazione, la denominazione e fornisce la sincronizzazione distribuita. Fornisce anche servizi di gruppo. Zookeeper gestisce e coordina anche un grande gruppo di macchine.

Vantaggi di Zookeeper:

  • Veloce – zookeeper è veloce con i carichi di lavoro in cui le letture sui dati sono più comuni delle scritture. Il rapporto di lettura/scrittura ideale è 10:1.
  • Ordinato – zookeeper conserva un registro di tutte le transazioni, che può essere utilizzato anche per l'alto livello

q. Oozie

È un sistema di pianificazione del flusso di lavoro per gestire i lavori Apache Hadoop. Combina più lavori in sequenza in un'unica unità logica di lavoro.

Quindi, il framework Oozie è completamente integrato con lo stack Apache Hadoop, YARN come centro di architettura. Supporta anche i lavori Hadoop per Apache MapReduce, Pig, Hive e Sqoop.

Oozie è scalabile e anche molto flessibile. Si possono facilmente avviare, interrompere, sospendere e rieseguire i lavori. Quindi, Oozie rende molto facile rieseguire flussi di lavoro non riusciti. È anche possibile saltare uno specifico nodo guasto.

Esistono due tipi di base di lavori Oozie:

  • Flusso di lavoro Oozie –  Serve per archiviare ed eseguire flussi di lavoro composti da lavori Hadoop, ad esempio MapReduce, Pig, Hive.
  • Coordinatore Oozie –  Esegue i lavori del flusso di lavoro in base a pianificazioni predefinite e disponibilità dei dati.

Conclusione

Quindi, Hadoop Ecosystem fornisce diversi componenti che lo rendono così popolare. Grazie a questi componenti Hadoop, sono ora disponibili diversi ruoli di lavoro Hadoop.

Spero che questo tutorial sull'ecosistema Hadoop ti aiuti molto a capire la famiglia Hadoop e i loro ruoli. Se trovi qualche domanda, condividi con noi nella casella dei commenti.