GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare Apache Hadoop su CentOS 7, Ubuntu 18.04 e Debian 9

Apache Hadoop è un framework software open source scritto in Java per l'archiviazione distribuita e il processo distribuito e gestisce le dimensioni molto grandi dei set di dati distribuendoli tra i cluster di computer.

Anziché affidarsi all'elevata disponibilità dell'hardware, i moduli Hadoop sono progettati per rilevare e gestire l'errore a livello dell'applicazione, offrendo così un servizio ad alta disponibilità.

Il framework Hadoop è costituito dai seguenti moduli,

  • Hadoop Common:contiene un insieme comune di librerie e utilità che supportano altri moduli Hadoop
  • Hadoop Distributed File System (HDFS) – è un file system distribuito basato su Java che memorizza i dati, fornendo un throughput molto elevato all'applicazione.
  • Hadoop YARN:gestisce le risorse sui cluster di calcolo e le utilizza per la pianificazione delle applicazioni degli utenti.
  • Hadoop MapReduce – è un framework per l'elaborazione dei dati su larga scala.

Questa guida ti aiuterà a installare Apache Hadoop su CentOS 7, Ubuntu 18.04 e Debian 9. Questa guida dovrebbe funzionare anche su Ubuntu 16.04.

Prerequisiti

Passa all'utente root.

su -

O

sudo su -

Installa Java

Apache Hadoop richiede solo Java versione 8. Quindi, puoi scegliere di installare OpenJDK o Oracle JDK.

LEGGI: Come installare Oracle Java su CentOS 7 / RHEL 7

LEGGI: Come installare Oracle Java su Ubuntu 18.04

LEGGI: Come installare Oracle Java su Debian 9

Qui, per questa demo, installerò OpenJDK 8.

### CentOS 7 / RHEL 7 ### # yum -y install java-1.8.0-openjdk wget### Ubuntu 18.04 / 16.04 e Debian 9 ### # apt update # apt install -y openjdk-8-jdk wget

Controlla la versione Java.

# java -versione

Risultato:

openjdk versione "1.8.0_212"OpenJDK Runtime Environment (build 1.8.0_212-b04)OpenJDK 64-Bit Server VM (build 25.212-b04, modalità mista)

Crea un utente Hadoop e abilita l'autenticazione senza password

Si consiglia di creare un utente normale per configurare ed eseguire Apache Hadoop. Quindi, crea un utente chiamato hadoop e imposta una password.

# useradd -m -d /home/hadoop -s /bin/bash hadoop# passwd hadoop

Dopo aver creato un utente, configurare ssh senza password sul sistema locale. Crea una chiave ssh usando i seguenti comandi.

# su - hadoop$ ssh-keygen$ cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys$ chmod 600 ~/.ssh/authorized_keys

Verificare la comunicazione senza password al sistema locale. Se stai eseguendo ssh per la prima volta, digita yes per aggiungere chiavi RSA a host conosciuti.

$ ssh 127.0.0.1

Installa Apache Hadoop

Scarica Hadoop

Puoi visitare la pagina di Apache Hadoop per scaricare l'ultimo pacchetto Hadoop, oppure puoi emettere il seguente comando nel terminale per scaricare Hadoop v3.2.0.

$ wget https://www-us.apache.org/dist/hadoop/common/stable/hadoop-3.2.0.tar.gz$ tar -zxvf hadoop-3.2.0.tar.gz $ mv hadoop -3.2.0 haoop

Installa Hadoop

Hadoop supporta tre modalità di cluster

  1. Modalità locale (autonoma):viene eseguita come un unico processo java.
  2. Modalità pseudo-distribuita:ogni demone Hadoop viene eseguito in un processo separato.
  3. Modalità completamente distribuita:è un vero e proprio cluster multinodo che va da pochi nodi a cluster estremamente grandi.

Imposta variabili ambientali

Qui configureremo Hadoop in modalità Pseudo-Distribuita. Per cominciare, imposta le variabili ambientali nel file ~/.bashrc.

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre ## Modificalo in base al tuo sistema export HADOOP_HOME=/home/hadoop/hadoop ## Modificalo in base al tuo sistema Export hadoop_install =$ hadoop_homeexport hadoop_mapred_home =$ hadoop_homeexport hadoop_common_home =$ hadoop_homeexport hadoop_hdfs_home =$ hadoop_homeexport 

Applica le variabili ambientali alla sessione corrente.

$ sorgente ~/.bashrc

Modifica file di configurazione

Modifica il file ambientale Hadoop.

vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh

Imposta la variabile di ambiente JAVA_HOME.

esporta JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre

Hadoop ha molti file di configurazione e dobbiamo modificarli in base alle modalità del cluster che abbiamo impostato (Pseudo-distribuito).

$ cd $HADOOP_HOME/etc/hadoop

Modifica core-site.xml.

  fs.defaultFS hdfs://server.itzgeek.local :9000 

Modifica hdfs-site.xml.

  dfs.replication 1   dfs.name.dir file :///home/hadoop/hadoopdata/hdfs/namenode    dfs.data.dir file:///home/hadoop/hadoopdata/hdfs/datanode  

Crea directory NameNode e DataNode nella directory home dell'utente hadoop.

 mkdir -p ~/hadoopdata/hdfs/{namenode,datanode}

Modifica mapred-site.xml.

  mapreduce.framework.name filato 

Modifica yarn-site.xml.

  yarn.nodemanager.aux-services mapreduce_shuffle 

Ora formatta il NameNode usando il comando seguente. Non dimenticare di controllare la directory di archiviazione.

$ hdfs namenode -format

Risultato:

. . .. . .2019-05-12 06:38:42,066 INFO common.Storage:la directory di archiviazione /home/hadoop/hadoopdata/hdfs/namenode è stata formattata correttamente.2019-05-12 06:38:42,169 INFO namenode.FSImageFormatProtobuf:salvataggio dell'immagine file /home/hadoop/hadoopdata/hdfs/namenode/current/fsimage.ckpt_00000000000000000000 senza compressione2019-05-12 06:38:42,483 INFO namenode.FSImageFormatProtobuf:File immagine /home/hadoop/hadoopdata/hdfs/namenode/current/fsimage .ckpt_0000000000000000000 di dimensione 401 byte salvati in 0 secondi .2019-05-12 06:38:42,501 INFO namenode.NNStorageRetentionManager:Manterrà 1 immagine con txid>=02019-05-12 06:38:42,516 INFO namenode.NameNode:SHUTDOWN_MSG:/******************************************************* *************SHUTDOWN_MSG:chiusura di NameNode su server.itzgeek.local/192.168.1.10********************** **************************************/

Firewall

Consenti Apache Hadoop attraverso il firewall. Esegui i comandi seguenti come utente root.

FirewallD:

firewall-cmd --permanent --add-port=9870/tcpfirewall-cmd --permanent --add-port=8088/tcpfirewall-cmd --reload

UFW:

ufw consentire 9870/tcpufw consentire 8088/tcpufw ricaricare

Avvia il demone NameNode e il demone DataNode utilizzando gli script nella directory /sbin, fornita da Hadoop.

$ start-dfs.sh

Risultato:

Avvio di namenodes su [server.itzgeek.local]server.itzgeek.local:avviso:aggiunto in modo permanente 'server.itzgeek.local,192.168.1.10' (ECDSA) all'elenco degli host noti. Avvio di datanodeslocalhost:avviso:in modo permanente aggiunto 'localhost' (ECDSA) all'elenco degli host conosciuti. Avvio di namenodes secondari [server.itzgeek.local]2019-05-12 06:39:14,171 WARN util.NativeCodeLoader:impossibile caricare la libreria nativa-hadoop per la tua piattaforma. .. utilizzando classi java integrate ove applicabile

Apri il tuo browser web e vai all'URL sottostante per sfogliare il NameNode.

http://ip.ad.dre.ss:9870/

Avvia il demone ResourceManager e il demone NodeManager.

$ start-yarn.sh

Risultato:

Avvio di ResourcemanagerAvvio di nodemanager

Apri il tuo browser web e vai all'URL sottostante per accedere a ResourceManager.

http://ip.ad.dre.ss:8088/

Test del cluster a nodo singolo Hadoop

Prima di eseguire il caricamento, creiamo una directory su HDFS.

$ hdfs dfs -mkdir /raj

Carichiamo un file nella directory HDFS chiamata raj.

$ hdfs dfs -put ~/.bashrc /raj

I file caricati possono essere visualizzati andando su NomeNode>> Utilità >> Sfoglia il file system in NameNode.

http://ip.ad.dre.ss/explorer.html#/raj

Copia i file da HDFS ai tuoi file system locali.

$ hdfs dfs -get /raj /tmp/

Puoi eliminare i file e le directory utilizzando i seguenti comandi.

hdfs dfs -rm -f /raj/.bashrchdfs dfs -rmdir /raj

Conclusione

È tutto. Hai configurato correttamente un cluster Hadoop a nodo singolo e testato il filesystem hadoop. Condividi il tuo feedback nella sezione commenti.


Cent OS
  1. Come installare Apache Hadoop su CentOS 7

  2. Come installare Apache Hadoop su CentOS 8

  3. Come installare Apache Hadoop su Ubuntu 14.04

  4. Come installare Apache Hadoop su Ubuntu 18.04 LTS

  5. Come installare Hadoop su Debian 11

Come installare Apache su CentOS 8

Come installare Apache Maven su CentOS 8

Come installare Apache Maven su CentOS 8

Come installare Kubernetes su CentOS 7, Ubuntu 18.04/16.04 e Debian 9

Come installare Apache Maven su Ubuntu 18.04 / Ubuntu 16.04 e Debian 9

Come installare Apache su Ubuntu 20.04