Comment installer et configurer Hadoop sur Centos / Rhel 8

Comment installer et configurer Hadoop sur Centos / Rhel 8

Hadoop est un cadre logiciel gratuit, open-source et Java utilisé pour le stockage et le traitement de grands ensembles de données sur des grappes de machines. Il utilise HDFS pour stocker ses données et traiter ces données à l'aide de MapReduce. Il s'agit d'un écosystème d'outils de Big Data qui sont principalement utilisés pour l'exploration de données et l'apprentissage automatique. Il a quatre composants majeurs tels que Hadoop Common, HDFS, YARN et MapReduce.

Dans ce guide, nous expliquerons comment installer Apache Hadoop sur Rhel / Centos 8.

Étape 1 - Désactiver SELINUX

Avant de commencer, c'est une bonne idée de désactiver le selinux dans votre système.

Pour désactiver SELINUX, ouvrez le fichier / etc / selinux / config:

nano / etc / selinux / config 

Changez la ligne suivante:

Selinux = handicapé 

Enregistrez le fichier lorsque vous avez terminé. Ensuite, redémarrez votre système pour appliquer les modifications de selinux.

Étape 2 - Installer Java

Hadoop est écrit en java et ne prend en charge que Java version 8. Vous pouvez installer OpenJDK 8 et Ant à l'aide de la commande DNF comme indiqué ci-dessous:

DNF Installer Java-1.8.0-openjdk ant -y 

Une fois installé, vérifiez la version installée de Java avec la commande suivante:

Java-Version 

Vous devriez obtenir la sortie suivante:

Version OpenJDK "1.8.0_232 "Environnement d'exécution OpenJDK (Build 1.8.0_232-b09) VM du serveur OpenJDK 64 bits (build 25.232-b09, mode mixte) 

Étape 3 - Créer un utilisateur Hadoop

C'est une bonne idée de créer un utilisateur séparé pour exécuter Hadoop pour des raisons de sécurité.

Exécutez la commande suivante pour créer un nouvel utilisateur avec un nom Hadoop:

userAdd Hadoop 

Ensuite, définissez le mot de passe de cet utilisateur avec la commande suivante:

passwd hadoop 

Fournir et confirmer le nouveau mot de passe comme indiqué ci-dessous:

Modification du mot de passe pour l'utilisateur Hadoop. Nouveau mot de passe: Retyper le nouveau mot de passe: PASSWD: Tous les jetons d'authentification mis à jour avec succès. 

Étape 4 - Configurer l'authentification basée sur la clé SSH

Ensuite, vous devrez configurer l'authentification SSH sans mot de passe pour le système local.

Tout d'abord, changez l'utilisateur en hadoop avec la commande suivante:

su - Hadoop 

Ensuite, exécutez la commande suivante pour générer des paires de clés publiques et privées:

ssh-keygen -t rsa 

On vous demandera de saisir le nom de fichier. Appuyez simplement sur Entrée pour terminer le processus:

Génération de paires de clés RSA publiques / privées. Entrez le fichier dans lequel enregistrer la clé (/ home / hadoop /.ssh / id_rsa): répertoire créé '/ home / hadoop /.ssh '. Entrez en phrase de passe (vide pour aucune 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 clés est: Sha256: A / OG + N3CNBSSYE1ULKK95GYS0POOC0DVJ + YH1DFZPF8 [Protégé par e-mail] L'image Randomart de la clé est: + --- [RSA 2048] ---- + | | | | | . | | . o o o | |… O s o o | | o = + o o . | | o * o = b = . | | + O.O.O + + . | | + = * ob.+ o e | + ---- [SHA256]-----+ 

Ensuite, ajoutez les clés publiques générées à partir de id_rsa.pub à autorisé_keys et définir la permission appropriée:

chat ~ /.ssh / id_rsa.pub >> ~ /.ssh / autorisé_keys chmod 640 ~ /.SSH / AUTORISED_KEYS 

Ensuite, vérifiez l'authentification SSH sans mot de passe avec la commande suivante:

ssh localhost 

Il vous sera demandé d'authentifier les hôtes en ajoutant des clés RSA aux hôtes connus. Tapez oui et appuyez sur Entrée pour authentifier le localhost:

L'authenticité de l'hôte 'localhost (:: 1)' ne peut pas être établi. ECDSA Key Finger empreinte est SHA256: 0yr1kdgu44akg43phn2genuzsvrjbbpjat3bwrdr3mw. Êtes-vous sûr de vouloir continuer à vous connecter (oui / non)? Oui AVERTISSEMENT: ajoutant définitivement «localhost» (ECDSA) à la liste des hôtes connus. Activez la console Web avec: SystemCTL Activer --now Cockpit.Socket Last Login: Sat 1 février 02:48:55 2020 [[Email Protected] ~] $ 

Étape 5 - Installer Hadoop

Tout d'abord, changez l'utilisateur en hadoop avec la commande suivante:

su - Hadoop 

Ensuite, téléchargez la dernière version de Hadoop à l'aide de la commande wget:

wget http: // apachemirror.wuchna.com / hadoop / commun / hadoop-3.2.1 / Hadoop-3.2.1.le goudron.gz 

Une fois téléchargé, extraire le fichier téléchargé:

TAR -XVZF HADOOP-3.2.1.le goudron.gz 

Ensuite, renommez le répertoire extrait à Hadoop:

mv hadoop-3.2.1 Hadoop 

Ensuite, vous devrez configurer les variables d'environnement Hadoop et Java sur votre système.

Ouvrez le ~ /.Fichier Bashrc dans votre éditeur de texte préféré:

nano ~ /.bashrc 

Ajoutez les lignes suivantes:

exporter java_home = / usr / lib / jvm / jre-1.8.0-openjdk-1.8.0.232.B09-2.EL8_1.x86_64 / export hadoop_home = / home / hadoop / hadoop export hadoop_install = $ hadoop_home export hadoop_mapred_home = $ hadoop_home export hadoop_common_home = $ hadoop_home export_haop_hdfs_home = $ hadoop_home hadoop_yarn_home = $ hadoop_port_hoom `` Hadhom_hoom " : $ Hadoop_home / sbin: $ hadoop_home / bin export hadoop_opts = "- djava.bibliothèque.path = $ hadoop_home / lib / natif " 

Enregistrez et fermez le fichier. Ensuite, activez les variables d'environnement avec la commande suivante:

source ~ /.bashrc 

Ensuite, ouvrez le fichier de variable d'environnement Hadoop:

nano $ hadoop_home / etc / hadoop / hadoop-env.shot 

Mettez à jour la variable Java_Home selon votre chemin d'installation Java:

exporter java_home = / usr / lib / jvm / jre-1.8.0-openjdk-1.8.0.232.B09-2.EL8_1.x86_64 / 

Enregistrer et fermer le fichier lorsque vous avez terminé.

Étape 6 - Configurer Hadoop

Tout d'abord, vous devrez créer les répertoires Namenode et Datanode à l'intérieur du répertoire Hadoop Home:

Exécutez la commande suivante pour créer les deux répertoires:

mkdir -p ~ / hadoopdata / hdfs / namenode mkdir -p ~ / hadoopdata / hdfs / datanode 

Ensuite, modifiez le site de base.xml fichier et mettre à jour avec le nom d'hôte de votre système:

nano $ hadoop_home / etc / hadoop / core-site.xml 

Modifiez le nom suivant selon le nom d'hôte de votre système:

FS.defaultfs hdfs: // hadoop.técadmin.com: 9000
123456 FS.defaultfs hdfs: // hadoop.técadmin.com: 9000

Enregistrez et fermez le fichier. Ensuite, modifiez le site HDFS.xml déposer:

nano $ hadoop_home / etc / hadoop / hdfs-site.xml 

Modifiez le chemin du répertoire Namenode et Datanode comme indiqué ci-dessous:

DFS.réplication 1 DFS.nom.DIR FILE: /// home / hadoop / hadoopdata / hdfs / namenode dfs.données.DIR FILE: /// home / hadoop / hadoopdata / hdfs / datanode
1234567891011121314151617 DFS.réplication 1 DFS.nom.DIR FILE: /// home / hadoop / hadoopdata / hdfs / namenode dfs.données.DIR FILE: /// home / hadoop / hadoopdata / hdfs / datanode

Enregistrez et fermez le fichier. Ensuite, modifiez le site mapred.xml déposer:

nano $ hadoop_home / etc / hadoop / mapred site.xml 

Apporter les modifications suivantes:

mapreduce.cadre.Nommez le fil
123456 mapreduce.cadre.Nommez le fil

Enregistrez et fermez le fichier. Ensuite, modifiez le Site de fil.xml déposer:

nano $ hadoop_home / etc / hadoop / yarn-site.xml 

Apporter les modifications suivantes:

fil.nodemanager.Aux-Services MapReduce_Shuffle
123456 fil.nodemanager.Aux-Services MapReduce_Shuffle

Enregistrer et fermer le fichier lorsque vous avez terminé.

Étape 7 - Démarrer le cluster Hadoop

Avant de commencer le cluster Hadoop. Vous devrez formater le namenode en tant qu'utilisateur Hadoop.

Exécutez la commande suivante pour formater le hadoop namenode:

hdfs namenode -format 

Vous devriez obtenir la sortie suivante:

2020-02-05 03: 10: 40,380 Info namenode.NnstorageRetentionManager: va conserver 1 images avec TXID> = 0 2020-02-05 03: 10: 40,389 Info namenode.FSIMAGE: FSIMageSaver Clean Checkpoint: TXID = 0 Lors de la rencontre de l'arrêt. 2020-02-05 03: 10: 40,389 Info namenode.Namenode: shutdown_msg: / ********************************************* *************** shutdown_msg: Arrêt Namenode à Hadoop.técadmin.com / 45.58.38.202 *************************************************** *********** / 

Après avoir formé le NameNode, exécutez la commande suivante pour démarrer le cluster Hadoop:

start-dfs.shot 

Une fois que le HDFS a commencé avec succès, vous devriez obtenir la sortie suivante:

Commencer les namenodes sur [Hadoop.técadmin.com] hadoop.técadmin.com: Avertissement: a ajouté en permanence 'Hadoop.técadmin.com, fe80 :: 200: 2dff: fe3a: 26ca% eth0 '(ecdsa) à la liste des hôtes connus. Démarrage de Datanodes Démarrage du Namenodes secondaire [Hadoop.técadmin.com] 

Ensuite, commencez le service de fil comme indiqué ci-dessous:

démarrage.shot 

Vous devriez obtenir la sortie suivante:

Démarrer ResourceManager Démarrer les nodemanagers 

Vous pouvez maintenant vérifier l'état de tous les services Hadoop à l'aide de la commande JPS:

JPS 

Vous devriez voir tous les services en cours d'exécution dans la sortie suivante:

7987 Datanode 9606 JPS 8183 SECONDARYNODODE 8570 NONEMANAGER 8445 RESSOURCEMANGER 7870 NAMENODE 

Étape 8 - Configurer le pare-feu

Hadoop est maintenant démarré et écoute sur le port 9870 et 8088. Ensuite, vous devrez autoriser ces ports à travers le pare-feu.

Exécutez la commande suivante pour autoriser les connexions Hadoop à travers le pare-feu:

Firewall-CMD - PERMANENT --Add-Port = 9870 / TCP Firewall-CMD - Permanent --Add-Port = 8088 / TCP 

Ensuite, rechargez le service Firewalld pour appliquer les modifications:

pare-feu-CMD - Reload 

Étape 9 - Accès à Hadoop Namenode et gestionnaire de ressources

Pour accéder au Namenode, ouvrez votre navigateur Web et visitez l'URL http: // votre server-ip: 9870. Vous devriez voir l'écran suivant:

Pour accéder à la gestion des ressources, ouvrez votre navigateur Web et visitez l'URL http: // your-server-ip: 8088. Vous devriez voir l'écran suivant:

Étape 10 - Vérifiez le cluster Hadoop

À ce stade, le cluster Hadoop est installé et configuré. Ensuite, nous créerons quelques répertoires dans le système de fichiers HDFS pour tester le Hadoop.

Créons un répertoire du système de fichiers HDFS à l'aide de la commande suivante:

HDFS DFS -MKDIR / TEST1 HDFS DFS -MKDIR / TEST2 

Ensuite, exécutez la commande suivante pour répertorier le répertoire ci-dessus:

hdfs dfs -ls / 

Vous devriez obtenir la sortie suivante:

Trouvé 2 éléments drwxr-xr-x - Hadoop SuperGroup 0 2020-02-05 03:25 / test1 drwxr-xr-x - Hadoop SuperGroup 0 2020-02-05 03:35 / test2 

Vous pouvez également vérifier le répertoire ci-dessus dans l'interface Web Hadoop Namenode.

Accédez à l'interface Web NameNode, cliquez sur les utilitaires => parcourez le système de fichiers. Vous devriez voir vos répertoires que vous avez créés plus tôt dans l'écran suivant:

Étape 11 - Stop Hadoop Cluster

Vous pouvez également arrêter le service Hadoop Namenode et Yarn à tout moment en exécutant le stop-dfs.shot et verge.shot Script en tant qu'utilisateur Hadoop.

Pour arrêter le service Hadoop NameNode, exécutez la commande suivante en tant qu'utilisateur Hadoop:

stop-dfs.shot 

Pour arrêter le service Hadoop Resource Manager, exécutez la commande suivante:

verge.shot 

Conclusion

Dans le tutoriel ci-dessus, vous avez appris à configurer le cluster de nœud unique Hadoop sur Centos 8. J'espère que vous avez maintenant suffisamment de connaissances pour installer le Hadoop dans l'environnement de production.