GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer Hadoop sur RHEL 8 / CentOS 8 Linux

Apache Hadoop est un framework open source utilisé pour le stockage distribué ainsi que le traitement distribué de données volumineuses sur des grappes d'ordinateurs qui s'exécutent sur des matériels de base. Hadoop stocke les données dans Hadoop Distributed File System (HDFS) et le traitement de ces données est effectué à l'aide de MapReduce. YARN fournit une API pour demander et allouer des ressources dans le cluster Hadoop.

Le framework Apache Hadoop est composé des modules suivants :

  • Hadoop commun
  • Système de fichiers distribué Hadoop (HDFS)
  • FIL
  • MapReduce

Cet article explique comment installer Hadoop Version 2 sur RHEL 8 ou CentOS 8. Nous allons installer HDFS (Namenode et Datanode), YARN, MapReduce sur le cluster à nœud unique en mode pseudo distribué qui est une simulation distribuée sur une seule machine. Chaque démon Hadoop tel que hdfs, yarn, mapreduce etc. s'exécutera comme un processus java séparé/individuel.

Dans ce didacticiel, vous apprendrez :

  • Comment ajouter des utilisateurs pour l'environnement Hadoop
  • Comment installer et configurer le JDK Oracle
  • Comment configurer SSH sans mot de passe
  • Comment installer Hadoop et configurer les fichiers xml associés nécessaires
  • Comment démarrer le cluster Hadoop
  • Comment accéder à l'interface utilisateur Web NameNode et ResourceManager

Architecture HDFS.

Configuration logicielle requise et conventions utilisées

Configuration logicielle requise et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version du logiciel utilisée
Système RHEL 8/CentOS 8
Logiciel Hadoop 2.8.5, Oracle JDK 1.8
Autre Accès privilégié à votre système Linux en tant que root ou via le sudo commande.
Conventions # - nécessite que les commandes linux données soient exécutées avec les privilèges root soit directement en tant qu'utilisateur root, soit en utilisant sudo commande
$ – nécessite que les commandes linux données soient exécutées en tant qu'utilisateur normal non privilégié

Ajouter des utilisateurs pour l'environnement Hadoop

Créez le nouvel utilisateur et le groupe à l'aide de la commande :

# useradd hadoop# passwd hadoop
[root@hadoop ~]# useradd hadoop[root@hadoop ~]# passwd hadoopModification du mot de passe de l'utilisateur hadoop.Nouveau mot de passe :Retapez le nouveau mot de passe :passwd :tous les jetons d'authentification ont été mis à jour avec succès.[root@hadoop ~]# cat / etc/passwd | grep hadoophadoop:x:1000:1000::/home/hadoop:/bin/bash

Installer et configurer le JDK Oracle

Téléchargez et installez le package officiel jdk-8u202-linux-x64.rpm pour installer le JDK Oracle.

[root@hadoop ~]# rpm -ivh jdk-8u202-linux-x64.rpmwarning :jdk-8u202-linux-x64.rpm :en-tête V3 RSA/SHA256 Signature, ID de clé ec551f03 :NOKEYVerifying... ## ############################### [100 %]Préparation... ########### ###################### [100 %]Mise à jour/installation... 1:jdk1.8-2000:1.8.0_202-fcs ##### ############################ [100 %]Décompression des fichiers JAR... tools.jar... plugin.jar... javaws.jar... deploy.jar... rt.jar... jsse.jar... charsets.jar... localedata.jar...

Après l'installation pour vérifier que java a bien été configuré, exécutez les commandes suivantes :

[root@hadoop ~]# java -versionjava version "1.8.0_202"Java(TM) SE Runtime Environment (build 1.8.0_202-b08)Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mode mixte)[root@hadoop ~]# update-alternatives --config javaIl y a 1 programme qui fournit 'java'. Commande de sélection ------------------------------------------------* + 1 /usr/java/jdk1.8.0_202-amd64/jre/bin/java

Configurer SSH sans mot de passe

Installez le serveur Open SSH et le client Open SSH ou s'il est déjà installé, il répertorie les packages ci-dessous.

[root@hadoop ~]# rpm -qa | grep openssh*openssh-server-7.8p1-3.el8.x86_64openssl-libs-1.1.1-6.el8.x86_64openssl-1.1.1-6.el8.x86_64openssh-clients-7.8p1-3.el8.x86_64openssh-7.8 p1-3.el8.x86_64openssl-pkcs11-0.4.8-2.el8.x86_64

Générez des paires de clés publiques et privées avec la commande suivante. Le terminal vous demandera d'entrer le nom du fichier. Appuyez sur ENTER et continuez. Après cela, copiez les clés publiques sous la forme id_rsa.pub à authorized_keys .

$ ssh-keygen -t rsa$ cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys$ chmod 640 ~/.ssh/authorized_keys
[hadoop@hadoop ~]$ ssh-keygen -t rsaGénération d'une paire de clés rsa publique/privée.Entrez le fichier dans lequel enregistrer la clé (/home/hadoop/.ssh/id_rsa):Répertoire créé '/home/hadoop /.ssh'.Entrez la phrase de passe (vide s'il n'y a pas de phrase de passe):Entrez à nouveau la même phrase de passe:Votre identification a été enregistrée dans /home/hadoop/.ssh/id_rsa.Votre clé publique a été enregistrée dans /home/hadoop/.ssh/ id_rsa.pub.L'empreinte digitale de la clé est :SHA256:H+LLPkaJJDD7B0f0Je/NFJRP5/FUeJswMmZpJFXoelg [email protected]'image aléatoire de la clé est :+---[RSA 2048]----+| .. ..++*o .o|| o .. +.O.+o.+|| + . . * +oo==|| . o o . E .oo|| . =.S.* o || . o.o=o || . ..o || .o. || o+. |+----[SHA256]-----+[hadoop@hadoop ~]$ cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys[hadoop@hadoop ~]$ chmod 640 ~/ .ssh/authorized_keys

Vérifiez la configuration ssh sans mot de passe avec la commande :

$ ssh  
[hadoop@hadoop ~]$ ssh hadoop.sandbox.comConsole Web :https://hadoop.sandbox.com:9090/ ou https://192.168.1.108:9090/Dernière connexion :sam. 13 avril 12:09 :55 2019[hadoop@hadoop ~]$

Installez Hadoop et configurez les fichiers xml associés

Téléchargez et extrayez Hadoop 2.8.5 depuis le site officiel d'Apache.

# wget https://archive.apache.org/dist/hadoop/common/hadoop-2.8.5/hadoop-2.8.5.tar.gz# tar -xzvf hadoop-2.8.5.tar.gz 
[root@rhel8-sandbox ~]# wget https://archive.apache.org/dist/hadoop/common/hadoop-2.8.5/hadoop-2.8.5.tar.gz--2019-04- 13 11:14:03-- https://archive.apache.org/dist/hadoop/common/hadoop-2.8.5/hadoop-2.8.5.tar.gzRésoudre archive.apache.org (archive.apache.org )... 163.172.17.199Connexion à archive.apache.org (archive.apache.org)|163.172.17.199|:443... connected.HTTP request sent, en attente de réponse... 200 OKLength:246543928 (235M) [ application/x-gzip]Enregistrement dans :'hadoop-2.8.5.tar.gz'hadoop-2.8.5.tar.gz 100 %[====================================================================================>] 235.12M 1.47MB/s en 2m 53s2019-04-13 11:16:57 (1.36 MB/s) - 'hadoop-2.8.5 .tar.gz' enregistré [246543928/246543928]

Configuration des variables d'environnement

Modifiez le bashrc pour l'utilisateur Hadoop via la configuration des variables d'environnement Hadoop suivantes :

export HADOOP_HOME=/home/hadoop/hadoop-2.8.5
export HADOOP_INSTALL=$HADOOP_HOME
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 PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
 

Sourcez le .bashrc dans la session de connexion en cours.

$ source ~/.bashrc

Modifiez le hadoop-env.sh fichier qui se trouve dans /etc/hadoop dans le répertoire d'installation de Hadoop et apportez les modifications suivantes et vérifiez si vous souhaitez modifier d'autres configurations.

export JAVA_HOME=${JAVA_HOME:-"/usr/java/jdk1.8.0_202-amd64"}
export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-"/home/hadoop/hadoop-2.8.5/etc/hadoop"}
 

Modifications de configuration dans le fichier core-site.xml

Modifiez le core-site.xml avec vim ou vous pouvez utiliser n'importe lequel des éditeurs. Le fichier est sous /etc/hadoop à l'intérieur de hadoop répertoire personnel et ajoutez les entrées suivantes.

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop.sandbox.com:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadooptmpdata</value>
</property>
</configuration>
 

De plus, créez le répertoire sous hadoop dossier de départ.

$ mkdir hadooptmpdata

Modifications de configuration dans le fichier hdfs-site.xml

Modifiez le hdfs-site.xml qui est présent sous le même emplacement, c'est-à-dire /etc/hadoop à l'intérieur de hadoop répertoire d'installation et créez le Namenode/Datanode répertoires sous hadoop répertoire personnel de l'utilisateur.

$ mkdir -p hdfs/namenode$ mkdir -p hdfs/datanode
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>file:///home/hadoop/hdfs/namenode</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>file:///home/hadoop/hdfs/datanode</value>
</property>
</configuration>
 

Modifications de configuration dans le fichier mapred-site.xml

Copiez le mapred-site.xml depuis mapred-site.xml.template en utilisant cp commande puis modifiez le mapred-site.xml placé dans /etc/hadoop sous hadoop répertoire d'instillation avec les modifications suivantes.

$ cp mapred-site.xml.template mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
 

Modifications de configuration dans le fichier yarn-site.xml

Modifier yarn-site.xml avec les entrées suivantes.

<configuration>
<property>
<name>mapreduceyarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
 

Démarrer le cluster Hadoop

Formatez le namenode avant de l'utiliser pour la première fois. En tant qu'utilisateur hadoop, exécutez la commande ci-dessous pour formater le Namenode.

$ hdfs namenode -format
[hadoop@hadoop ~]$ hdfs namenode -format19/04/13 11:54:10 INFO namenode.NameNode :STARTUP_MSG:/******************** *****************************************STARTUP_MSG :nœud de nom de départSTARTUP_MSG :utilisateur =hadoopSTARTUP_MSG :host =hadoop.sandbox.com/192.168.1.108STARTUP_MSG :args =[-format]STARTUP_MSG :version =2.8.519/04/13 11:54:17 INFO namenode.FSNamesystem :dfs.namenode.safemode.threshold-pct =0.999000012874603319/04/13 11:54:17 INFO namenode.FSNamesystem :dfs.namenode.safemode.min.datanodes =019/04/13 11:54:17 INFO namenode.FSNamesystem :dfs.namenode.safemode.extension =3000019/ 04/13 11:54:18 INFO metrics.TopMetrics :NNTop conf :dfs.namenode.top.window.num.buckets =1019/04/13 11:54:18 INFO metrics.TopMetrics :NNTop conf :dfs.namenode. top.num.users =1019/04/13 11:54:18 INFO metrics.TopMetrics :NNTop conf :dfs.namenode.top.windows.minutes =1,5,2519/04/13 11:54:18 INFO namenode .FSNamesystem :Réessayer le cache sur namenode est activé19/04/13 11:54:18 INFO namenode.FS Système de noms :le cache de nouvelle tentative utilisera 0,03 du tas total et le délai d'expiration de l'entrée de cache de nouvelle tentative est de 600 000 millis19/04/13 11:54:18 INFO util.GSet :capacité de calcul pour la carte NameNodeRetryCache19/04/13 11:54:18 INFO util. GSet :type de machine virtuelle =64 bits19/04/13 11:54:18 INFO util.GSet :0,029999999329447746 % de mémoire maximale 966,7 Mo =297,0 Ko19/04/13 11:54:18 INFO util.GSet :capacité =2^15 =32768 entrées19/04/13 11:54:18 INFO namenode.FSImage :nouveau BlockPoolId alloué :BP-415167234-192.168.1.108-155514205816719/04/13 11:54:18 INFO common.Storage :répertoire de stockage /home/hadoop /hdfs/namenode a été formaté avec succès.19/04/13 11:54:18 INFO namenode.FSImageFormatProtobuf :Enregistrement du fichier image /home/hadoop/hdfs/namenode/current/fsimage.ckpt_0000000000000000000 sans compression19/04/13 11 :54:18 INFO namenode.FSImageFormatProtobuf :fichier image /home/hadoop/hdfs/namenode/current/fsimage.ckpt_000000000000000000 de taille 323 octets enregistrés en 0 secondes.19/04/13 11:54:18 INFO namenode.NNStorageRetentionM anager :va conserver 1 images avec txid>=019/04/13 11:54:18 INFO util.ExitUtil :sortie avec le statut 019/04/13 11:54:18 INFO namenode.NameNode :SHUTDOWN_MSG :/*** ****************************************************** *******SHUTDOWN_MSG :Arrêt de NameNode sur hadoop.sandbox.com/192.168.1.108**************************** ********************************/

Une fois le Namenode formaté, démarrez le HDFS en utilisant le start-dfs.sh script.

$ start-dfs.sh 
[hadoop@hadoop ~]$ start-dfs.shDémarrage des namenodes sur [hadoop.sandbox.com]hadoop.sandbox.com :démarrage du namenode, connexion à /home/hadoop/hadoop-2.8.5/logs/hadoop- hadoop-namenode-hadoop.sandbox.com.outhadoop.sandbox.com :démarrage du nœud de données, connexion à /home/hadoop/hadoop-2.8.5/logs/hadoop-hadoop-datanode-hadoop.sandbox.com.outDémarrage des nœuds de noms secondaires [ 0.0.0.0]L'authenticité de l'hôte '0.0.0.0 (0.0.0.0)' ne peut pas être établie. L'empreinte digitale de la clé ECDSA est SHA256:e+NfCeK/kvnignWDHgFvIkHjBWwghIIjJkfjygR7NkI.Êtes-vous sûr de vouloir continuer à vous connecter (oui/non) ? yes0.0.0.0 : Attention :"0.0.0.0" (ECDSA) a été ajouté de manière permanente à la liste des hôtes connus. 2.8.5/logs/hadoop-hadoop-secondairenamenode-hadoop.sandbox.com.out

Pour démarrer les services YARN, vous devez exécuter le script de démarrage du fil, c'est-à-dire start-yarn.sh

$ start-yarn.sh
[hadoop@hadoop ~]$ start-yarn.shdémarrage des démons de fildémarrage du gestionnaire de ressources, connexion à /home/hadoop/hadoop-2.8.5/logs/yarn-hadoop-resourcemanager-hadoop.sandbox.com.outhadoop.sandbox. com :démarrage de nodemanager, connexion à /home/hadoop/hadoop-2.8.5/logs/yarn-hadoop-nodemanager-hadoop.sandbox.com.out

Pour vérifier que tous les services/démons Hadoop sont démarrés avec succès, vous pouvez utiliser le jps commande.

$ jps2033 NameNode2340 SecondaryNameNode2566 ResourceManager2983 Jps2139 DataNode2671 NodeManager

Nous pouvons maintenant vérifier la version actuelle de Hadoop, vous pouvez utiliser la commande ci-dessous :

$ version hadoop

ou

Version $ hdfs
[hadoop@hadoop ~]$ hadoop versionHadoop 2.8.5Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r 0b8464d75227fcee2c6e7f2410377b3d53d3d5f8Compilé par jdu le 2018-09-10T03:32ZCompilé avec protocole 2.5.0Depuis la source avec la somme de contrôle 9942ca5c745417c14e318835f420733Cette commande a été exécutée à l'aide de /home/hadoop/hadoop-2.8.5/share/hadoop/common/hadoop-common-2.8.5.jar[hadoop@hadoop ~]$ hdfs versionHadoop 2.8.5Subversion https://git-wip-us.apache.org/repos/asf/hadop hadoop/hadoop-2.8.5/share/hadoop/common/hadoop-common-2.8.5.jar[hadoop@hadoop ~]$

Interface de ligne de commande HDFS

Pour accéder à HDFS et créer des répertoires en haut de DFS, vous pouvez utiliser HDFS CLI.

$ hdfs dfs -mkdir /testdata$ hdfs dfs -mkdir /hadoopdata$ hdfs dfs -ls /
[hadoop@hadoop ~]$ hdfs dfs -ls /Found 2 itemsdrwxr-xr-x - supergroupe hadoop 0 2019-04-13 11:58 /hadoopdatadrwxr-xr-x - supergroupe hadoop 0 2019-04-13 11 :59 /testdata

Accéder au Namenode et au YARN depuis le navigateur

Vous pouvez accéder à la fois à l'interface utilisateur Web pour NameNode et au gestionnaire de ressources YARN via l'un des navigateurs tels que Google Chrome/Mozilla Firefox.

Namenode Web UI – http://<hadoop cluster hostname/IP address>:50070

Interface utilisateur Web Namenode.

Informations détaillées HDFS.

Navigation dans le répertoire HDFS.

L'interface Web YARN Resource Manager (RM) affichera toutes les tâches en cours d'exécution sur le cluster Hadoop actuel.

Interface utilisateur Web du gestionnaire de ressources – http://<hadoop cluster hostname/IP address>:8088

Interface utilisateur Web du gestionnaire de ressources (YARN).

Conclusion

Le monde change sa façon de fonctionner actuellement et le Big Data joue un rôle majeur dans cette phase. Hadoop est un framework qui nous facilite la vie lorsque nous travaillons sur de grands ensembles de données. Il y a des améliorations sur tous les fronts. L'avenir est passionnant.


Cent OS
  1. Comment installer redmine sur RHEL 8 / CentOS 8 Linux

  2. Comment installer Perl sur RHEL 8 / CentOS 8 Linux

  3. Comment installer Apache Tomcat sur Linux RHEL 8 / CentOS 8

  4. Comment installer le serveur DNS sur RHEL 8 / CentOS 8 Linux

  5. Comment installer PostgreSQL sur CentOS 8 / Rocky Linux 8 / RHEL 8

Comment installer wget sur RHEL 8 / CentOS 8 Linux

Comment installer le fichier bin dans RHEL 8 / CentOS 8 Linux

Comment installer VLC Player sur CentOS 8 / RHEL 8 Linux

Comment installer WordPress sur RHEL 8 / CentOS 8 Linux

Comment installer GIMP sur CentOS 8 / RHEL 8 Linux

Comment installer Foreman sur CentOS 7 / RHEL 7 / Oracle Linux 7