Al giorno d'oggi, quando un'azienda o qualsiasi operazione che coinvolge computer cresce al punto da richiedere la gestione di più di un computer, iniziamo immediatamente a utilizzare più computer come parte di un'unica rete per gestire in modo più efficiente il carico di lavoro. Ciò è diventato un luogo comune al punto che oggigiorno quasi tutte le operazioni in campi come la scienza dei dati vengono eseguite da questi computer collegati in rete. Anche se senza dubbio eseguire attività impegnative sul computer è più efficiente in questo modo, è anche incredibilmente complicato, poiché è necessario configurare individualmente ciascun computer e quindi gestire l'intera rete mentre svolge le proprie attività. È qui che programmi come Hadoop entrano in gioco per salvare la situazione.
- Cos'è Apache Hadoop?
- Casi d'uso di Hadoop
- Panoramica dell'architettura Hadoop
- Installa Hadoop su Ubuntu 20.04 - Guida passo passo
- Prerequisiti
- Passaggio 1: creare un utente non root per Hadoop
- Passaggio 2: configura le chiavi SSH
- Passaggio 3: scarica e installa Hadoop su Ubuntu
- Passaggio 4: configurare l'ambiente Hadoop
- Passaggio 5: modifica i file di configurazione
- Passaggio 6: formatta HDFS
- Passaggio 7: avviare i servizi Hadoop
- Passaggio 8: verificare l'installazione
- Passaggio 9: accedere alle interfacce Web
- Passaggio 10: eseguire un esempio di MapReduce
- Passaggio 11: impostare le variabili di ambiente
- Conclusione
- Domande frequenti
Hadoop è una suite di strumenti e programmi rilasciata da Apache che consente di eseguire l'intero processo di collegamento in rete di un gruppo di computer con molta più efficienza e facilità. Quindi, in questo articolo esaminerò Hadoop, ne esaminerò i casi d'uso, ne esaminerò i pro e i contro e fornirò una panoramica della sua architettura avanzata, prima di passare a una guida passo passo su come installare Hadoop su Ubuntu 20.04 per completare questo tutorial Hadoop del 2024.
Cos'è Apache Hadoop?
Hadoop, una suite di strumenti basata su Apache, trasforma la configurazione e l'utilizzo della rete da oltre 15 anni. Gli utenti possono trarre vantaggio dall’efficienza delle risorse di Hadoop, consentendo loro di sfruttare la propria attuale potenza di calcolo per attività impegnative senza la necessità di costosi aggiornamenti. La suite è composta da quattro moduli: HDFS, YARN, MapReduce e Hadoop Common, ciascuno progettato per casi d'uso specifici.
La genialità di Hadoop risiede nella sua intrinseca intraprendenza, che consente abilmente sia agli individui che alle organizzazioni di unire le loro capacità computazionali esistenti in una forza coesa in grado di superare sostanziali sfide computazionali. Senza la guida di Hadoop, queste entità si troverebbero costrette a imbarcarsi nella costosa ricerca dell’acquisizione di macchine informatiche 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 è positivo, ma non sostituirà mai la realizzazione del suo potenziale come parte di un'operazione seria. Quindi qui fornirò alcuni esempi prima di passare al tutorial di Hadoop.
Analisi dei rischi
Come già accennato, Hadoop consente di sfruttare la potenza di diversi sistemi informatici come parte di un'unica unità di rete per esaminare in modo efficiente batch di dati estesi e analizzarli più velocemente del solito. In qualsiasi attività ci sono rischi che necessitano di analisi e calcoli. Hadoop è estremamente utile qui. Tanto che molti ospedali credibili lo utilizzano per analizzare i rischi di diversi trattamenti e ipotizzare il potenziale risultato e le statistiche delle loro operazioni per i loro pazienti. Scopri di più sul ruolo rivoluzionario di Hadoop nel settore sanitario qui.
Rilevamento di violazioni della sicurezza
Poiché la quantità complessiva di reti e di dispositivi utilizzati aumenta all’interno di una rete o di un’azienda, ci sono sempre più potenziali violazioni della sicurezza di cui tenere conto. Una delle utilità essenziali di Hadoop è valutare l'intera operazione analizzando grandi quantità di dati ed evidenziando potenziali punti critici di quel sistema.
Rivedi la mappatura
Molte aziende fanno affidamento sul feedback delle recensioni che ricevono sui propri prodotti per migliorarli o sviluppare nuove strategie di mercato. Mentre un essere umano impiegherà anni per coprire un file di revisione sufficientemente grande, Hadoop utilizzerà la sua magia del computer in rete per produrre risultati molto più rapidi.
Analisi di mercato
Parlando di strategie di mercato, la suddetta mappatura delle recensioni impallidisce in confronto al numero di risorse necessarie per analizzare il mercato per valutare il potenziale di ingresso di un prodotto nuovo di zecca. Questo è un altro caso d'uso in cui Hadoop brilla in quanto consente anche alle piccole imprese emergenti di valutare in modo efficiente il mercato con diversi computer in tempi e modalità efficienti.
Valutazione dei file di registro
Un altro aspetto delle aziende che diventa più complicato col passare del tempo e diventa più significativo è la quantità di software che inizieranno a utilizzare a tutti i livelli. L'utilizzo di sempre più software provoca potenziali bug e punti critici e necessita di un dipendente dedicato per gestire i file di registro e gestire i problemi. Ciò richiederà molto tempo, ma utilizzando alcuni semplici protocolli, un'azienda può utilizzare Hadoop per esaminare e valutare rapidamente i file di registro per trovare questi bug ed eliminarli.
Esistono moltissimi altri casi d'uso e applicazioni Hadoop, ma per mantenere l'attenzione sullo scopo dell'articolo, non ne discuteremo ulteriormente.
Panoramica dell'architettura Hadoop
Diciamo che hai sentito parlare di Hadoop, dei suoi casi d'uso generali e di cosa fa. E anche se non l'hai fatto, questo articolo probabilmente lo ha fatto per te finora. Ma ora è necessario acquisire una comprensione approfondita di ciò di cui è effettivamente fatto Hadoop e di come ciascuna parte di esso funziona con le altre funzionalità. Come accennato in precedenza, esistono quattro livelli generali di Hadoop; in questa parte del tutorial di Hadoop impareremo di più su HDFS (Hadoop Distributed File System), YARN (Yet Another Resource Negotiator), MapReduce e Hadoop Common. Tuttavia, poiché Hadoop Common non ha molte funzionalità che necessitano di essere spiegate, gli elementi essenziali sono noti come Guardiano dello zoo. Quindi, in questa sezione, cercherò di riassumere l'architettura e l'ecosistema Hadoop avanzati e le sue quattro sezioni in termini di base, prima di passare infine a come installare Hadoop su Ubuntu 20.04.
HDFS
HDFS nell'ecosistema Hadoop costituisce il sistema di archiviazione complessivo utilizzato da tutte le sottosezioni e applicazioni Hadoop per valutare, trasferire e salvare i dati. Il punto principale dell'architettura HDFS è che, a differenza dello stesso Hadoop, un programma open source, HDFS in Hadoop è in realtà il file system responsabile dell'esecuzione di tutte le operazioni sottostanti di un singolo cluster Hadoop. HDFS è un file system incredibilmente resiliente che divide i batch di dati in segmenti da 128 MB e li ottimizza per operazioni basate su sequenze.
Il ruolo principale di HDFS nel software Hadoop è fornire tutti i dati come parte di un rack di dati complessivo, che può quindi essere manipolato tramite diversi namenode e rack secondari in sottosezioni per organizzare l'operazione di analisi dei dati. È quindi possibile utilizzare le altre opzioni come Journal rack, QJM, HA, fsimage e file di registro di modifica e il registro della legenda generale per tenere traccia ed eseguire altre attività.
FILATO
YARN è un altro ramo esecutivo di Hadoop utilizzato per assegnare la quantità desiderata di risorse informatiche ad applicazioni specifiche all'interno dell'ecosistema Hadoop. In sostanza, ti consente di utilizzare un gestore di risorse per i tuoi clienti per allocare queste risorse attraverso una serie di nodi diversi a diverse attività e applicazioni. C'è anche una legenda in YARN, simile a quella in HDFS, che ti consente di tenere traccia di tutte le risorse e operazioni allocate. YARN stesso è diviso in tre sottosezioni: Resource Manager, Application Master e Node Manager.
Ognuna di queste tre sottosezioni crea una nuova istanza di se stessa rispettivamente per cluster, applicazione e nodo. Non solo puoi allocare risorse a diverse attività utilizzando YARN, ma puoi anche programmare queste risorse in modo che cambino nel tempo per creare flussi di lavoro algoritmici avanzati. YARN non si limita alla sua sottosezione. Ci saranno molti casi in cui utilizzerai YARN insieme ad altri livelli architettonici come HDFS e Zookeeper per allocare risorse e valutare l'operazione complessiva.
Hadoop Mapreduce
Hadoop MapReduce è un altro componente importante nell'ecosistema Hadoop. Una volta installato Hadoop su Ubuntu, puoi utilizzare questa funzionalità per ottenere in modo efficace un'enorme quantità di dati analizzati in modo distribuito da diversi computer. In sostanza, Hadoop MapReduce funziona in questo modo: inserisci una grande mappa di dati nel programma. Questa mappa dati verrà mescolata, suddivisa e distribuita sui computer della rete. Successivamente, mediante particolari protocolli detti riduttori, i dati vengono ridotti alle loro componenti più essenziali. Ognuna di queste operazioni è conosciuta come Job.
Supponiamo che tu abbia una frase di tre parole che funge da mappa dati che desideri analizzare con MapReduce. Diciamo che la frase è Bear Hunt Rabbit. Hadoop MapReduce suddividerà e ridurrà questa frase in tre diversi batch ciascuno con una parola, quindi utilizzerà queste parole e creerà nuove combinazioni con input di dati simili degli altri lavori per creare un batch di dati finale omogeneizzato con i dati non necessari rimossi e che potrà essere facilmente analizzato.
Guardiano dello zoo
Zookeeper è un'altra sottosezione dell'ecosistema Hadoop che inizialmente è diventata famosa e di uso comune con il rilascio di Hadoop versione 2.0. Il principale punto di servizio di Zookeeper è il coordinamento tra le diverse operazioni eseguite come parte di una singola istanza Hadoop. Pertanto, Zookeeper viene quasi sempre utilizzato insieme al Resource Manager di YARN e alle diverse funzionalità di HDFS in Hadoop. L’utilizzo principale di Zookeeper in queste operazioni è rilevare e rimediare ai potenziali punti di guasto. Per fare ciò, utilizza due diversi strumenti: ZKFiloverControer e Zookeeper Quorum.
In queste procedure, i nodi dati gestiti da altri componenti dell'architettura Hadoop sono classificati come namenodi attivi, supervisionati dall'utente. Successivamente, ciascuno di questi namenode viene sottoposto ad esame all'interno delle due suddette sottosezioni dello Zookeeper. Questo viene fatto per individuare aree di difficoltà e identificare potenziali fallimenti.
Installa Hadoop su Ubuntu 20.04 – Guida passo passo
E infine, dopo aver appreso l'architettura Hadoop, è tempo di arrivare al nocciolo della questione, ovvero come installare Hadoop su Ubuntu 20.04 come parte finale di questo tutorial di Hadoop. Copriamo i prerequisiti prima di passare alla guida passo passo per installare Hadoop su Ubuntu 20.04. Tieni presente che questa guida può essere utilizzata anche per Ubuntu 18.04.
Prerequisiti
I prerequisiti necessari per installare Hadoop su Ubuntu sono piuttosto semplici. Tutto ciò di cui hai bisogno è un computer basato su Ubuntu con accesso root, disponibile localmente o accessibile in remoto tramite un server VPS. Per quanto riguarda i programmi prerequisiti, assicurati di avere già installato 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
Per quanto riguarda la licenza, non ne avrai 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 utilizzando il comando seguente. Questa fa parte delle preconfigurazioni che dobbiamo fare prima di scaricare e installare effettivamente Hadoop:
sudo adduser hdoop
su - hdoop
Passaggio 2: configura le chiavi SSH
Ora per installare Hadoop su Ubuntu utilizzeremo l'utente Hadoop che hai appena creato e lo utilizzeremo per stabilire una connessione SSH con esso. Utilizza 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, la riga successiva ti consentirà di contrassegnarle come chiavi_autorizzate e salvali nella tua directory SSH:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
Ora usa questo comando per assicurarti che la tua connessione SSH disponga di tutte le autorizzazioni richieste:
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
Conferma le modifiche e potrai connetterti facilmente al tuo localhost in ogni momento con l'utente che hai creato:
ssh localhost
Passaggio 3: scarica e installa Hadoop su Ubuntu
Puoi visitare il Sito web Apache Hadoop per visualizzare un elenco di versioni con il registro delle modifiche recenti. Seleziona la versione di tuo gradimento e ti verrà presentato un collegamento che potrà essere utilizzato con il seguente comando per scaricare e installare Hadoop su Ubuntu. Qui sto scegliendo la versione 3.3.6. Se necessario, sostituisci "3.3.6" con l'ultima versione stabile:
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
Una volta terminato il download, utilizza questa riga per completare il processo di estrazione e 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
Impostato 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: modifica 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: formatta 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 verificare che Hadoop sia in esecuzione.
jps
Passaggio 9: accedere alle interfacce Web
Apri i browser Web sulle interfacce NameNode e ResourceManager di Hadoop.
NomeNodo: http://localhost:9870
Gestore risorse: http://localhost:8088
Passaggio 10: eseguire un esempio di MapReduce
Eseguire un lavoro 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 di ambiente
Aggiungi Hadoop bidone E sbin directory nel PATH del sistema.
echo 'export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin' >> ~/.bashrc
source ~/.bashrc
E questo è tutto! Sei appena riuscito a configurare e installare con successo Apache Hadoop su Ubuntu 20.04!
Conclusione
In sintesi, l'installazione di Hadoop su Ubuntu 20.04 è un processo approfondito che richiede un'attenzione meticolosa e la disponibilità ad esplorare le sfumature della configurazione. Seguendo i passaggi forniti in questa guida, gli utenti Ubuntu possono intraprendere un viaggio di trasformazione, sfruttando le capacità sostanziali di Hadoop per realizzare appieno il potenziale delle loro attività di analisi dei dati.
Il mio consiglio è di distribuire Hadoop come distribuzione a nodo singolo utilizzando una distribuzione limitata se intendi solo imparare e giocare con esso. A questo scopo, un VPS funzionerà perfettamente per te. Cloudzy ti offre una miriade di cose diverse Servizi VPS Linux inclusa una Ironclad, affidabile Ubuntu VPS che può essere configurato in pochissimo tempo per diventare il parco giochi di apprendimento Hadoop perfetto per te. A partire da $ 4,95 al mese, puoi ottenere il tuo VPS Ubuntu con più di 12 sedi e supporto attento 24 ore su 24, 7 giorni su 7!
La scelta ovvia
La maggior parte dei server gestiti da Linux utilizza Ubuntu; perché non tu? Scopri perché tutti amano Ubuntu: acquista un VPS Ubuntu ottimizzato
Ottieni il tuo VPS UbuntuDomande frequenti
Quali sono le differenze tra HDFS e MapReduce?
Sebbene entrambi i moduli risiedano nell'ecosistema Hadoop, servono a scopi distinti. HDFS funziona come un file system distribuito, facilitando l'accessibilità dei dati. D'altra parte, MapReduce eccelle nel scomporre e analizzare in modo efficiente blocchi di dati di grandi dimensioni.
Hadoop è considerato un database?
Hadoop non è un database, sebbene questo malinteso sia comune. Funziona piuttosto come un file system distribuito che consente l'archiviazione e l'elaborazione di dati voluminosi utilizzando una rete di computer interconnessi. Non dovrebbe essere utilizzato come sostituto diretto di un sistema di database tradizionale.
Quali sono i quattro componenti principali di Hadoop?
Hadoop è costituito da quattro componenti principali: HDFS (Hadoop Distributed File System), YARN (Yet Another Resource Negotiator), MapReduce e Hadoop Common. Inoltre, alcune risorse considerano ZooKeeper come un componente, sebbene non sia ufficialmente riconosciuto come tale.
Dove viene generalmente utilizzato Hadoop?
Hadoop trova applicazioni in vari ambiti in cui la gestione, l'archiviazione, l'elaborazione e l'analisi dei dati su larga scala sono essenziali. Si rivolge a operazioni che vanno dalle aziende di medie dimensioni e dagli ospedali alle startup in crescita, fornendo soluzioni basate sui dati.