50% di sconto tutti i piani, offerta a tempo limitato. A partire da $2.48/mo
13 minuti rimasti
Database e Analitiche

Come installare Hadoop su Ubuntu: Guida completa

Pio Bodenmann By Pio Bodenmann lettura di 13 minuti Aggiornato 1 maggio 2024
come installare hadoop su ubuntu linux

Oggigiorno, quando un'azienda o qualsiasi operazione che richieda l'uso di computer cresce fino al punto di necessitare più di una macchina per gestire il carico di lavoro, si ricorre naturalmente all'utilizzo di più computer come parte di un'unica rete per distribuire il lavoro in modo più efficiente. Questa pratica è diventata talmente comune che oggi quasi tutte le operazioni in settori come la data science vengono eseguite da computer in rete. Sebbene l'esecuzione di compiti complessi in questo modo sia indubbiamente più efficiente, è anche incredibilmente complessa, perché devi configurare singolarmente ogni computer e poi gestire l'intera rete durante l'elaborazione. È qui che programmi come Hadoop diventano essenziali.

Hadoop è una suite di strumenti e programmi rilasciati da Apache che permette di collegare insieme un insieme di computer in modo molto più efficiente e semplice. In questo articolo esaminerò Hadoop, analizzerò i suoi casi d'uso, illustrerò vantaggi e svantaggi, e fornirò una panoramica della sua architettura avanzata, prima di passare a una guida passo dopo passo su come installare Hadoop su Ubuntu 20.04 per completare questa guida Hadoop 2024.

Che cos'è Apache Hadoop?

Hadoop, una suite di strumenti di Apache, ha trasformato la configurazione e l'utilizzo delle reti negli ultimi 15 anni. Gli utenti possono sfruttare l'efficienza delle risorse di Hadoop, permettendo loro di utilizzare la potenza di calcolo esistente per compiti impegnativi senza necessità di costosi aggiornamenti. La suite comprende quattro moduli: HDFS, YARN, MapReduce e Hadoop Common, ognuno progettato per casi d'uso specifici.

La forza di Hadoop risiede nella sua capacità di ottimizzare le risorse, consentendo a individui e organizzazioni di unire le loro potenzialità computazionali esistenti in un'unica forza in grado di affrontare sfide di calcolo significative. Senza Hadoop, queste entità sarebbero costrette a intraprendere la strada costosa dell'acquisizione di macchine sempre più potenti.

Casi d'uso di Hadoop

Ora sappiamo cos'è Hadoop. Ma come si applicano esattamente i suoi casi d'uso nel mondo reale? Comprendere un programma sulla carta è utile, ma non sostituisce mai la realizzazione del suo potenziale in un'operazione concreta. Ecco alcuni esempi prima di passare alla guida Hadoop.

Analisi dei Rischi

Come già accennato, Hadoop consente di sfruttare la potenza di più sistemi informatici come parte di una singola unità di rete per elaborare e analizzare in modo efficiente grandi volumi di dati. In qualsiasi azienda, ci sono rischi che richiedono analisi e valutazione. Hadoop è estremamente utile in questo contesto. Così tanto che molti ospedali affidabili lo utilizzano per analizzare i rischi di diversi trattamenti e valutare i potenziali risultati e le statistiche delle loro operazioni per i loro pazienti. Puoi scoprire di più sul ruolo di Hadoop nell'assistenza sanitaria qui.

Rilevamento di violazioni della sicurezza

Con l'aumento della quantità di dispositivi e connessioni all'interno di una rete o azienda, crescono i rischi di potenziali violazioni della sicurezza. Una delle funzioni essenziali di Hadoop è valutare l'intera operazione analizzando grandi volumi di dati e identificando i punti critici del sistema.

Mappatura delle Recensioni

Molte aziende si affidano ai feedback dei clienti sui loro prodotti per migliorarli o sviluppare nuove strategie di mercato. Mentre un essere umano impiegherebbe molto tempo per processare file di recensioni di grandi dimensioni, Hadoop elabora i dati attraverso la sua architettura distribuita e fornisce risultati molto più velocemente.

Analisi di Mercato

Parlando di strategie di mercato, l'analisi delle recensioni è nulla rispetto alle risorse necessarie per valutare un mercato e capire il potenziale di un nuovo prodotto. Qui Hadoop brilla perché permette anche alle piccole aziende emergenti di valutare il mercato in modo efficiente utilizzando più computer in tempi ragionevoli.

Analisi dei file di log

Un altro aspetto che diventa più complesso man mano che le aziende crescono è la quantità di software utilizzato. L'uso di più software crea più bug e punti critici, richiedendo dipendenti dedicati a gestire i file di log e risolvere i problemi. Con Hadoop e pochi protocolli semplici, un'azienda può esaminare e analizzare rapidamente i file di log per trovare i bug e eliminarli.

Existono molti altri casi d'uso e applicazioni di Hadoop, ma per mantenere il focus dello articolo, non li approfondiremo ulteriormente.

Panoramica dell'architettura di Hadoop

Supponiamo che tu abbia sentito parlare di Hadoop, dei suoi casi d'uso e di cosa fa. E anche se non l'hai fatto, questo articolo probabilmente te l'ha spiegato. Ma ora hai bisogno di capire a fondo cosa è fatto Hadoop e come ogni parte interagisce con le altre. Come accennato, Hadoop ha quattro livelli generali. In questa sezione del tutorial approfondiremo HDFS (Hadoop Distributed File System), YARN (Yet Another Resource Negotiator), MapReduce e Hadoop Common. Poiché Hadoop Common ha poche caratteristiche da spiegare, gli elementi essenziali sono conosciuti come Zookeeper. In questa sezione semplificherò l'architettura avanzata di Hadoop e il suo ecosistema dividendolo nei quattro livelli, prima di passare a come installare Hadoop su Ubuntu 20.04.

HDFS

HDFS nell'ecosistema Hadoop è il sistema di archiviazione utilizzato da tutti i sottosistemi e le applicazioni Hadoop per accedere, trasferire e salvare i dati. La caratteristica principale di HDFS è che, a differenza di Hadoop stesso, HDFS è il file system responsabile di tutte le operazioni sottostanti di un cluster Hadoop. HDFS è un file system molto resiliente che divide i dati in blocchi di 128 MB e li ottimizza per operazioni sequenziali.

Il ruolo principale di HDFS in Hadoop è fornire tutti i dati come parte di un'infrastruttura complessiva, che può essere manipolata mediante namenode diversi e rack secondari per organizzare le tue operazioni di analisi dei dati. Puoi quindi utilizzare altre opzioni come journal rack, QJM, HA, fsimage e file di edit log, oltre al log generale, per tenere traccia e eseguire altre attività.

YARN

YARN è un'altra componente fondamentale di Hadoop utilizzata per assegnare quantità specifiche di risorse di calcolo a diverse applicazioni nell'ecosistema Hadoop. Essenzialmente, ti permette di usare un resource manager per allocare queste risorse ai diversi nodi e alle diverse applicazioni. Proprio come in HDFS, esiste un log in YARN che ti aiuta a tenere traccia delle risorse allocate e delle operazioni. YARN si divide in tre sottoinsiemi: Resource Manager, Application Master e Node Manager.

Ognuno di questi tre sottoinsiemi crea una nuova istanza per cluster, applicazione e nodo rispettivamente. Con YARN puoi non solo allocare risorse a diversi compiti, ma puoi anche pianificare come queste risorse cambiano nel tempo per creare workflow algoritmici avanzati. YARN non è limitato al suo sottoinsieme: spesso lo utilizzerai insieme ad altri livelli architettonici come HDFS e Zookeeper per allocare risorse e valutare l'operazione complessiva.

Hadoop MapReduce

Hadoop MapReduce è un'altra componente fondamentale dell'ecosistema Hadoop. Una volta installato Hadoop su Ubuntu, puoi usare questa funzione per analizzare grandi volumi di dati in modo distribuito su più computer. Essenzialmente, Hadoop MapReduce funziona così: inserisci una mappa di dati nel programma. Questa mappa viene frammentata, scomposta e distribuita ai tuoi computer in rete. Successivamente, utilizzando protocolli specifici chiamati reducer, i dati vengono ridotti ai loro componenti essenziali. Ognuna di queste operazioni è chiamata Job.

Supponiamo che tu abbia una frase di tre parole da analizzare con MapReduce. Diciamo che la frase sia "Bear Hunt Rabbit". Hadoop MapReduce scompone e riduce questa frase in tre batch separati, ognuno con una parola, poi utilizza queste parole per creare nuove combinazioni con dati simili dai tuoi altri job al fine di creare un batch di dati finale omogeneo, senza dati inutili e facile da analizzare.

Zookeeper

Zookeeper è un'altra sottosezione dell'ecosistema Hadoop che è diventata prominente con la versione 2.0 di Hadoop. La funzione principale di Zookeeper è coordinare le diverse operazioni in esecuzione all'interno di una singola istanza di Hadoop. Per questo motivo, Zookeeper funziona quasi sempre in congiunzione con Resource Manager di YARN e le diverse funzioni di HDFS. Il suo ruolo principale è rilevare e risolvere i potenziali punti di errore. Per farlo, utilizza due strumenti diversi: ZKFiloverController e Zookeeper Quorum.

In questi processi, i data node gestiti da altre componenti dell'architettura Hadoop vengono categorizzati come namenode attivi, supervisioni dall'utente. Successivamente, ognuno di questi namenode viene sottoposto a scrutinio all'interno dei due sottoinsiemi menzionati di Zookeeper. Questo viene fatto per identificare aree critiche e potenziali errori.

Installa Hadoop su Ubuntu 20.04 - Guida Passo Dopo Passo

Infine, dopo aver imparato l'architettura di Hadoop, è il momento di passare al vero cuore della questione: come installare Hadoop su Ubuntu 20.04 come parte finale di questo tutorial. Copriamo i prerequisiti prima di passare alla guida passo dopo passo per installare Hadoop su Ubuntu 20.04. Ricorda che questa guida funziona anche per Ubuntu 18.04.

Prerequisiti

I prerequisiti per installare Hadoop su Ubuntu sono abbastanza semplici. Tutto ciò di cui hai bisogno è un computer con Ubuntu con accesso root, disponibile localmente o raggiungibile da remoto attraverso un server VPS. Per quanto riguarda i programmi prerequisiti, assicurati di avere già installati Java 11 e SSH. Se non li hai, esegui i seguenti comandi uno alla volta per installarli:

sudo apt update && sudo apt upgrade -y
sudo apt install openssh-server openssh-client -y
sudo apt install openjdk-11-jdk -y

Riguardo alla licenza, non ne hai bisogno, poiché Hadoop è gratuito e open-source. Questo è tutto ciò di cui hai bisogno. Passiamo al primo passaggio.

Passaggio 1: Creare un utente non-root per Hadoop

Crea un utente non-root per Hadoop usando il seguente comando. Questa è parte della pre-configurazione che dobbiamo fare prima di scaricare e installare effettivamente Hadoop:

sudo adduser hdoop
su - hdoop

Passaggio 2: Configurare le chiavi SSH

Ora per installare Hadoop su Ubuntu useremo l'utente Hadoop che hai appena creato per creare una connessione SSH. Usa questo comando per generare una coppia di chiavi SSH e salvarla:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

Una volta generate le chiavi, il seguente comando ti permette di contrassegnarle come authorized_keys e salvarle nella tua directory SSH:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

Ora usa questo comando per assicurarti che la tua connessione SSH abbia tutti i permessi necessari:

chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

Conferma le modifiche e potrai connetterti facilmente al tuo localhost in qualsiasi momento con l'utente che hai creato:

ssh localhost

Passaggio 3: Scaricare e installare Hadoop su Ubuntu

Puoi visitare il sito web Apache Hadoop per vedere l'elenco delle versioni con il relativo changelog. Seleziona la versione che preferisci e riceverai un link da usare con il comando seguente per scaricare e installare Hadoop su Ubuntu. Qui scelgo la versione 3.3.6. Sostituisci '3.3.6' con l'ultima versione stabile se necessario:

wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz

Al termine del download, usa questo comando per completare l'estrazione e l'installazione:

tar xzf hadoop-3.3.6.tar.gz
sudo mv hadoop-3.3.6 /usr/local/hadoop
sudo chown -R hdoop:hdoop /usr/local/hadoop

Passaggio 4: Configurare l'ambiente Hadoop

Imposta JAVA_HOME in /usr/local/hadoop/etc/hadoop/hadoop-env.sh:

echo 'export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")' | sudo tee -a /usr/local/hadoop/etc/hadoop/hadoop-env.sh

Passaggio 5: Modificare i file di configurazione

Aggiorna i file di configurazione XML di Hadoop con le impostazioni del tuo cluster.

nano /usr/local/hadoop/etc/hadoop/core-site.xml

Passaggio 6: Formattare HDFS

Inizializza lo spazio dei nomi del file system Hadoop.

/usr/local/hadoop/bin/hdfs namenode -format

Passaggio 7: Avviare i servizi Hadoop

Avvia i servizi HDFS e YARN.

/usr/local/hadoop/sbin/start-dfs.sh
/usr/local/hadoop/sbin/start-yarn.sh

Passaggio 8: Verificare l'installazione

Controlla i processi Java in esecuzione per confermare che Hadoop funziona.

jps

Passaggio 9: Accedere alle interfacce web

Apri un browser web alle interfacce NameNode e ResourceManager di Hadoop.

NameNode: http://localhost:9870
Gestione risorse: http://localhost:8088

Passaggio 10: Eseguire un esempio MapReduce

Esegui un job MapReduce di esempio per convalidare la configurazione.

/usr/local/hadoop/bin/hdfs dfs -mkdir /input
/usr/local/hadoop/bin/hdfs dfs -put localfile.txt /input
/usr/local/hadoop/bin/hadoop jar
/usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar grep /input /output 'dfs[a-z.]+'
/usr/local/hadoop/bin/hdfs dfs -cat /output/*

Passaggio 11: Impostare le variabili d'ambiente

Aggiungi Hadoop bin e sbin al PATH di sistema.

echo 'export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin' >> ~/.bashrc
source ~/.bashrc

Fatto! Hai completato con successo la configurazione e l'installazione di Apache Hadoop su Ubuntu 20.04!

Conclusione

In sintesi, installare Hadoop su Ubuntu 20.04 è un processo complesso che richiede precisione e familiarità con i dettagli tecnici della configurazione. Seguendo i passaggi di questa guida, gli utenti di Ubuntu possono iniziare a sfruttare le potenti capacità di Hadoop per massimizzare il valore dei propri dati.

Consiglio di distribuire Hadoop come deployment a nodo singolo se vuoi solo imparare e sperimentare. Per questo, un VPS è perfetto. Cloudzy ti offre un'ampia scelta di servizi Linux VPS inclusa un'opzione affidabile Ubuntu VPS che puoi configurare rapidamente come ambiente ideale per imparare ad usare Hadoop. A partire da $4,95 al mese, puoi ottenere il tuo Ubuntu VPS con oltre 12 posizioni e supporto 24/7!

ubuntu-vps La scelta ovvia

La maggior parte dei server che eseguono Linux utilizza Ubuntu. Perché non tu? Scopri perché tutti amano Ubuntu, ottieni un hosting Ubuntu VPS ottimizzato.

Ottieni il tuo hosting Ubuntu VPS

Domande frequenti

Quali sono le differenze tra HDFS e MapReduce?

Sebbene HDFS e MapReduce facciano parte dell'ecosistema Hadoop, svolgono ruoli diversi. HDFS funziona come file system distribuito, consentendo l'accesso ai dati. MapReduce invece è ottimizzato per scomporre e analizzare efficientemente grandi volumi di dati.

Hadoop è considerato un database?

Hadoop non è un database, sebbene questo sia un malinteso diffuso. È un file system distribuito che consente di archiviare ed elaborare enormi quantità di dati su una rete di computer collegati. Non deve essere usato come sostituto diretto di un database tradizionale.

Quali sono i quattro componenti principali di Hadoop?

Hadoop è composto da quattro componenti principali: HDFS (Hadoop Distributed File System), YARN (Yet Another Resource Negotiator), MapReduce e Hadoop Common. Alcune fonti includono anche ZooKeeper, anche se non è ufficialmente riconosciuto come componente principale.

Dove viene tipicamente utilizzato Hadoop?

Hadoop trova applicazione in vari settori dove è essenziale gestire, archiviare, elaborare e analizzare dati su larga scala. È utile per aziende medie, ospedali e startup che hanno bisogno di soluzioni basate sui dati.

Condividi

Altro dal blog

Continua a leggere.

Simbolo originale di MongoDB presentato su un server futuristico per installare MongoDB su Ubuntu + slogan su cosa aspettarsi dall'articolo + titolo dell'articolo + logo del brand Cloudzy
Database e Analitiche

Come Installare MongoDB sulle Tre Versioni Più Recenti di Ubuntu (Guida Passo per Passo)

Hai deciso di usare MongoDB, un'ottima alternativa a MariaDB per costruire un'app stack MERN, una piattaforma di analytics o qualsiasi sistema basato su documenti, ma hai incontrato difficoltà a trovare buone

Jim SchwarzJim Schwarz 12 min di lettura
Gestione Intelligente dei Dati Aziendali: Strategie di Storage e Backup "Cloud-Like" con VPS
Database e Analitiche

Gestione Intelligente dei Dati Aziendali: Strategie di Storage e Backup "Cloud-Like" con VPS

VPS per la gestione sicura dei dati aziendali è la strategia che consiglio ogni volta che un'azienda decide di smettere di sparpagliarsi file tra laptop, allegati email e cartelle dimenticate

Rexa CyrusRexa Cyrus 7 min di lettura
Vista materializzata vs Vista
Database e Analitiche

Vista materializzata vs Vista: comprendi il loro ruolo nei database

Nei sistemi database, una vista materializzata è un oggetto database che memorizza i risultati precompilati di una query come tabella fisica. Poiché i dati sono effettivamente archiviati su disco, le query complesse

Ivy JohnsonIvy Johnson 7 min di lettura

Pronto per il deployment? A partire da $2,48/mese.

Cloud indipendente, dal 2008. AMD EPYC, NVMe, 40 Gbps. Rimborso entro 14 giorni.