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

Hadoop:un tutorial Apache Hadoop per principianti

L'obiettivo principale di questo Hadoop Il tutorial descrive ogni aspetto di Apache Hadoop Framework. Fondamentalmente, questo tutorial è progettato in modo che sia facile imparare Hadoop dalle basi.

In questo articolo, faremo del nostro meglio per rispondere a domande come cosa sono i Big Data Hadoop, qual è la necessità di Hadoop, qual è la storia di Hadoop e, infine, vantaggi e svantaggi del framework Apache Hadoop.

La nostra speranza è che dopo aver letto questo articolo, avrai una chiara comprensione di cos'è un Framework Hadoop.

Cos'è Hadoop?

È un framework software open source per l'archiviazione e l'elaborazione distribuite di enormi quantità di set di dati. Open source significa che è disponibile gratuitamente e anche noi possiamo cambiarne il codice sorgente secondo le tue esigenze.

Consente inoltre di eseguire applicazioni su un sistema con migliaia di nodi. Il suo file system distribuito offre velocità di trasferimento dati rapide tra i nodi. Consente inoltre al sistema di continuare a funzionare in caso di guasto del nodo.

Hadoop fornisce-

  • Il livello di archiviazione: HDFS
  • Motore di elaborazione batch: MapReduce
  • Livello di gestione delle risorse:FILO

Hadoop – Storia

Nel 2003, Google lancia il progetto Nutch per gestire miliardi di ricerche. Anche per l'indicizzazione di milioni di pagine web. Nell'ottobre 2003 Google ha pubblicato GFS (Google File System), da quella carta ha avuto origine Hadoop.

Nel 2004, Google pubblica la carta con MapReduce . E nel 2005, Nutch ha utilizzato GFS e MapReduce per eseguire operazioni.

Nel 2006, informatici Doug CuttingMike Cafarella  ha creato Hadoop. Nel febbraio 2006 Doug Cutting si è unito a Yahoo . Ciò ha fornito risorse e il team dedicato per trasformare Hadoop in un sistema che funzionava su scala web. Nel 2007, Yahoo ha iniziato a utilizzare Hadoop su un cluster di 100 nodi.

Nel gennaio 2008, Hadoop ha realizzato il proprio progetto di alto livello in Apache, confermandone il successo. Molte altre aziende hanno utilizzato Hadoop oltre a Yahoo!, come il New York Times e Facebook.

Nell'aprile 2008, Hadoop ha battuto un record mondiale diventando il sistema più veloce per ordinare un terabyte di dati. In esecuzione su un cluster a 910 nodi, In ordinato un terabyte in 209 secondi.

Nel dicembre 2011, Apache Hadoop ha rilasciato la versione 1.0. Nell'agosto 2013 era disponibile la versione 2.0.6. Successivamente, a giugno 2017, sarà disponibile Apache Hadoop 3.0.0-alpha4. ASF (Apache Software Foundation) gestisce e mantiene il framework e l'ecosistema di tecnologie di Hadoop.

Perché Hadoop?

Come abbiamo appreso nell'introduzione, ora impareremo di cosa ha bisogno Hadoop?

È emerso come una soluzione ai "Big Data " problemi-

a. Archiviazione per Big Data – HDFS ha risolto questo problema. Memorizza i Big Data in modo distribuito. HDFS memorizza anche ogni file come blocchi. Il blocco è l'unità di dati più piccola in un filesystem.

Supponiamo di avere 512 MB di dati. E hai configurato HDFS in modo tale da creare 128 Mb di blocchi di dati. Quindi HDFS divide i dati in 4 blocchi (512/128=4) e lo memorizza su DataNode diversi. Replica anche i blocchi di dati su diversi nodi di dati.

Quindi, archiviare i big data non è una sfida.

b. Scalabilità – Risolve anche il problema del ridimensionamento. Si concentra principalmente sul ridimensionamento orizzontale piuttosto che sul ridimensionamento verticale. È possibile aggiungere datanode aggiuntivi al cluster HDFS come e quando richiesto. Invece di aumentare le risorse dei tuoi datanode.

Migliorando così notevolmente le prestazioni.

c. Memorizzazione della varietà di dati  – HDFS ha risolto questo problema. HDFS può memorizzare tutti i tipi di dati (strutturati, semi-strutturati o non strutturati). Segue anche scrivere una volta e leggere molti modelli .

Per questo motivo, puoi scrivere qualsiasi tipo di dato una volta e puoi leggerlo più volte per trovare informazioni dettagliate.

d. Velocità di elaborazione dei dati  – Questo è il problema principale dei big data. Per risolvere questo problema, sposta il calcolo sui dati anziché i dati sul calcolo. Questo principio è Località dei dati .

Componenti principali Hadoop

Ora impareremo in dettaglio il componente principale di Apache Hadoop. Ha 3 componenti principali-

  • HDFS
  • Riduci mappa
  • YARN(Ancora un altro negoziatore di risorse)

Discutiamo questi componenti principali uno per uno.

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.

Memorizza i dati in modo affidabile anche in caso di guasto hardware. Fornisce un accesso ad alta velocità all'applicazione accedendo in parallelo.

Componenti di HDFS:

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

b. MappaRiduci

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

YARN fornisce la gestione delle risorse. È il sistema operativo di Hadoop. Ha il compito di gestire e monitorare i carichi di lavoro, implementando anche i controlli di sicurezza. Apache YARN è anche una piattaforma centrale per fornire strumenti di governance dei dati tra i cluster.

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. Gestisce le risorse e pianifica le applicazioni in esecuzione sulla parte superiore di 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

Vantaggi di Hadoop

Parliamo ora di vari vantaggi Hadoop per risolvere i problemi dei big data.

  • Scalabilità – Aggiungendo nodi possiamo facilmente far crescere il nostro sistema per gestire più dati.
  • Flessibilità –   In questo quadro, non è necessario preelaborare i dati prima di archiviarli. Puoi archiviare tutti i dati che desideri e decidere come utilizzarli in seguito.
  • A basso costo –  Il framework open source è gratuito e funziona su hardware a basso costo.
  • Tolleranza ai guasti –  Se i nodi si interrompono, i lavori vengono reindirizzati automaticamente ad altri nodi.
  • Potenza di calcolo – È   il modello di calcolo distribuito elabora i big data velocemente. Più nodi di elaborazione utilizzi, maggiore è la potenza di elaborazione che hai.

Svantaggi di Hadoop

Alcuni svantaggi di Apache Hadoop Framework sono riportati di seguito-

  • Problemi di sicurezza – Può essere difficile gestire l'applicazione complessa. Se l'utente non sa come abilitare la piattaforma che gestisce la piattaforma, i tuoi dati potrebbero essere un rischio enorme. Dal momento che, a livello di archiviazione e rete, Hadoop non è dotato di crittografia, il che è un importante motivo di preoccupazione.
  • Vulnerabile per natura –  Il framework è scritto quasi in java, il linguaggio più utilizzato. Java è pesantemente sfruttato dai criminali informatici. Di conseguenza, implicato in numerose violazioni della sicurezza.
  • Non adatto per piccoli dati – Dal momento che non è adatto per piccoli dati. Quindi, manca la capacità di supportare in modo efficiente la lettura casuale di piccoli file.
  • Potenziali problemi di stabilità –  Poiché è un framework open source. Ciò significa che viene creato da molti sviluppatori che continuano a lavorare al progetto. Sebbene vengano apportati costantemente miglioramenti, presenta problemi di stabilità. Per evitare questi problemi, le organizzazioni dovrebbero utilizzare l'ultima versione stabile.

Conclusione

In conclusione, possiamo dire che è lo strumento Big data più popolare e potente. Memorizza enormi quantità di dati in modo distribuito.

E quindi elabora i dati in parallelo su un cluster di nodi. Fornisce inoltre il livello di archiviazione più affidabile al mondo:HDFS. Motore di elaborazione batch MapReduce e livello di gestione delle risorse:YARN.

Quindi, questi demoni garantiscono la funzionalità di Hadoop.


No