Apache Hadoop o anche noto come Hadoop è un framework open source basato su Java che consente l'elaborazione distribuita di grandi set di dati su computer. Viene utilizzato per archiviare ed elaborare set di dati di grandi dimensioni. Consente di raggruppare più computer per archiviare ed elaborare i dati più rapidamente invece di utilizzare un unico computer di grandi dimensioni. Hadoop è composto da quattro moduli principali:
– HDFS (Hadoop Distributed File System)
– YARN (Yet Another Resource Negotiator)
– MapReduce
– Hadoop Common
In questo tutorial, spiegheremo come installare Hadoop su Debian 11.
Prerequisiti
- Debian 11
- Accesso root SSH o un normale utente di sistema con privilegi sudo
Passaggio 1. Accedi al server
Innanzitutto, accedi al tuo server Debian 11 tramite SSH come utente root:
ssh root@IP_Address -p Port_number
Sostituisci "root" con un utente che dispone dei privilegi sudo, se necessario. Inoltre, sostituisci "IP_Address" e "Port_Number" con il rispettivo indirizzo IP e numero di porta SSH del tuo server.
Puoi controllare se hai la versione Debian corretta installata sul tuo server con il seguente comando:
$ lsb_release -a
Dovresti ottenere questo output:
No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 11 (bullseye) Release: 11 Codename: bullseye
Prima di iniziare, devi assicurarti che tutti i pacchetti del sistema operativo Ubuntu installati sul server siano aggiornati.
Puoi farlo eseguendo i seguenti comandi:
$ sudo apt update -y $ sudo apt upgrade -y
Passaggio 2. Crea un utente di sistema e genera una chiave SSH
Non è una buona idea eseguire Hadoop come root, quindi per motivi di sicurezza creeremo un nuovo utente di sistema:
$ sudo useradd -r hadoop -m -d /opt/hadoop --shell /bin/bash
È stato creato un utente 'hadoop', accediamo come utente.
$ su - hadoop
Hadoop richiede l'accesso ssh per gestire i suoi nodi, siano essi remoti o locali. Per accedere ai nodi senza password, possiamo generare una chiave SSH e copiare la chiave pubblica nel file ~/.ssh/authorized_keys.
$ ssh-keygen -t rsa
Otterrai un output come questo.
hadoop@debian11:~$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/opt/hadoop/.ssh/id_rsa): Created directory '/opt/hadoop/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /opt/hadoop/.ssh/id_rsa Your public key has been saved in /opt/hadoop/.ssh/id_rsa.pub The key fingerprint is: SHA256:QYHlb6Is9n05OtnR+6i71t4MZeN9gVqGVCoa28aiUXg [email protected] The key's randomart image is: +---[RSA 3072]----+ | o+. . | | oo o | | . Eo. o | | o *oo . . | | . +S+oo ++. | | .o.oo. =+ o.| | o.o o =... o| | . o .o * o= .| | . o=+*o.+ | +----[SHA256]-----+
Successivamente, aggiungiamo la chiave pubblica di hadoop al file della chiave autorizzato, per consentire all'utente "hadoop" di accedere al sistema senza password e utilizzare solo la chiave SSH.
$ cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys
Accedi ora al sistema tramite SSH.
$ ssh localhost
Ora dovresti essere in grado di accedere a SSH senza una password.
Usciamo dall'utente 'hadoop' e poi proseguiamo con il passaggio successivo.
$ exit
Passaggio 3. Installa Java
Hadoop è scritto in Java, quindi abbiamo bisogno di Java nel nostro sistema per poter eseguire Hadoop. Eseguiamo questo comando di seguito per installare il JDK predefinito per Java dal repository.
$ sudo apt install default-jdk default-jre -y
Java dovrebbe essere installato ora, puoi controllarlo e verificarlo invocando questo comando:
$ sudo java -version
Passaggio 4. Scarica e installa Hadoop
Al momento della stesura di questo articolo, l'ultima versione stabile di Hadoop è la versione 3.3.2. Puoi andare alla loro pagina di download all'indirizzo https://hadoop.apache.org/releases.html per controllare la versione più recente, se presente.
Accediamo come utente 'hadoop' per scaricarlo ed estrarlo, quindi non è necessario modificare i permessi di file e directory.
$ su - hadoop $ wget https://dlcdn.apache.org/hadoop/common/hadoop-3.2.3/hadoop-3.2.3.tar.gz -O hadoop-3.2.3.tar.gz $ tar -xzvf hadoop-3.2.3.tar.gz -C /opt/hadoop --strip-components=1
Prima di continuare con i passaggi successivi, assicurati di JAVA_HOME punta alla directory corretta, puoi verificarlo elencando /usr/lib/jvm
$ ls /var/lib/jvm
Ora modifichiamo /opt/hadoop/.bashrc
$ nano /opt/hadoop/.bashrc
Inserisci le seguenti righe nel file.
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 export HADOOP_HOME=/opt/hadoop export PATH=$PATH:$HADOOP_HOME/bin export PATH=$PATH:$HADOOP_HOME/sbin export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
Salva il file ed esci, quindi esegui il comando seguente per attivare le variabili di ambiente appena aggiunte.
$ source ~/.bashrc
Passaggio 5. Configura Hadoop
Hadoop può essere configurato per essere eseguito in un singolo nodo o in un cluster multinodo. In questo tutorial, ti mostreremo come configurare il cluster a nodo singolo Hadoop o la modalità pseudo-distribuita. Ci sono alcuni file che dobbiamo modificare in questo passaggio, ora modifichiamo prima il file dell'ambiente Hadoop.
$ nano /opt/hadoop/etc/hadoop/hadoop-env.sh
Aggiungi la seguente riga al file.
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
Modifica il file core-site.xml.
$ nano /opt/hadoop/etc/hadoop/core-site.xml
Aggiungi queste righe al tag di configurazione.
<property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property>
Modifica il file hdfs-site.xml
$ nano /opt/hadoop/etc/hadoop/hdfs-site.xml
Aggiungi queste righe al tag di configurazione.
<property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/opt/hadoop/hadoop_tmp/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/opt/hadoop/hadoop_tmp/hdfs/datanode</value> </property>
Salva il file premendo CTRL + O ed esci con CTRL + X
Modifica il file yarn-site.xml
$ nano /opt/hadoop/etc/hadoop/yarn-site.xml
Aggiungi queste righe al tag di configurazione.
<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property>
L'ultimo file da modificare è mapred-site.xml.
$ nano /opt/hadoop/etc/hadoop/mapred-site.xml
Aggiungi queste righe al tag di configurazione.
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
Non dimenticare di salvare il file e poi uscire dal nano editor.
I file sopra sono stati modificati, dobbiamo creare delle directory, eseguire questo comando:
$ mkdir -p /opt/hadoop/hadoop_tmp/hdfs/{namenode,datanode}
Prima di avviare i servizi Hadoop per la prima volta, dobbiamo formattare il namenode.
$ hdfs namenode -format
Avvia namenode e datanode
$ start-dfs.sh
Se vedi questo messaggio di avviso:
Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Significa che il sistema operativo del tuo server è a 64 bit, ma la libreria nativa di Hadoop è a 32 bit. Questo è previsto e puoi ignorare l'avviso. Se non ti senti a tuo agio, puoi scaricare il file sorgente di Hadoop, quindi compilarlo per ottenere la libreria condivisa a 64 bit.
Ora iniziamo i gestori di risorse e nodi YARN.
$ start-yarn.sh
L'ultimo, esegui questo comando:
$ jps
Otterrai un output come questo:
106129 SecondaryNameNode 108050 Jps 105877 NameNode 106375 ResourceManager 105960 DataNode 106458 NodeManager
Adesso. puoi andare su http://YOUR_SERVER_IP_ADDRESS:9870/ e vedere namenode, datanode, ecc.
Per controllare il portale web di YARN, puoi navigare su http://YOUR_SERVER_IP_ADDRESS:8088/
Questo è tutto. Hai installato e configurato correttamente Hadoop su Debian 11 VPS.
Naturalmente, non è necessario installare Hadoop su Debian 11 se si dispone di un server Debian gestito con noi. Puoi semplicemente chiedere al nostro team di supporto di installare Hadoop su Debian 11 per te. Sono disponibili 24 ore su 24, 7 giorni su 7 e saranno in grado di aiutarti con l'installazione.
PS. Se ti è piaciuto leggere questo post sul blog su come installare Hadoop su Debian 11, sentiti libero di condividerlo sui social network usando le scorciatoie qui sotto, o semplicemente lascia un commento nella sezione commenti. Grazie.