Video: How to Setup Multinode Hadoop 2 on CentOS/RHEL Using VirtualBox 2024
Poiché molte distribuzioni Hadoop esistenti non stanno ancora utilizzando ancora un altro negoziatore di risorse (YARN), date un'occhiata a come Hadoop gestiva la sua elaborazione dei dati prima dei giorni di Hadoop 2. Concentrarsi sul ruolo svolto dai demoni master JobTracker e dai daemon slave TaskTracker nella gestione dell'elaborazione MapReduce.
L'intero punto di utilizzo dei sistemi distribuiti è di essere in grado di distribuire le risorse di elaborazione in una rete di computer autonomi in un modo tollerante ai guasti, facile e poco costoso.
In un sistema distribuito come Hadoop, in cui si dispone di un cluster di nodi di elaborazione autonomi che funzionano tutti in parallelo, una grande quantità di complessità va a garantire che tutti i pezzi lavorino insieme. In quanto tali, questi sistemi in genere hanno livelli distinti per gestire attività diverse per supportare l'elaborazione parallela dei dati.
Questo concetto, noto come separazione delle preoccupazioni, assicura che se si è, ad esempio, il programmatore dell'applicazione, non è necessario preoccuparsi dei dettagli specifici per, ad esempio, il failover di mappare le attività. In Hadoop, il sistema consiste di questi quattro livelli distinti, come mostrato:
-
Archiviazione distribuita: Il file system distribuito Hadoop (HDFS) è il livello di archiviazione in cui sono archiviati i dati, i risultati intermedi e i set di risultati finali.
-
Gestione risorse: Oltre allo spazio su disco, tutti i nodi slave nel cluster Hadoop hanno cicli CPU, RAM e larghezza di banda della rete. Un sistema come Hadoop deve essere in grado di suddividere queste risorse in modo che più applicazioni e utenti possano condividere il cluster in modi prevedibili e sintonizzabili. Questo lavoro viene eseguito dal daemon JobTracker.
-
Framework di elaborazione: Il flusso del processo MapReduce definisce l'esecuzione di tutte le applicazioni in Hadoop 1. Ciò inizia con la fase della mappa; continua con l'aggregazione con shuffle, sort, o merge; e termina con la fase di riduzione. In Hadoop 1, anche questo viene gestito dal daemon JobTracker, con l'esecuzione locale gestita dai daemon TaskTracker in esecuzione sui nodi slave.
-
API (Application Programming Interface): Le applicazioni sviluppate per Hadoop 1 dovevano essere codificate utilizzando l'API MapReduce. In Hadoop 1, i progetti Hive e Pig forniscono ai programmatori interfacce più semplici per scrivere applicazioni Hadoop e, sotto il cofano, il loro codice viene compilato in MapReduce.
Nel mondo di Hadoop 1 (che era l'unico mondo che avevi fino a poco tempo fa), tutta l'elaborazione dei dati ruotava attorno a MapReduce.