Comment installer et configurer Hadoop sur Centos / Rhel 8
- 3565
- 621
- Lucas Bernard
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: 9000123456 | 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 / datanode1234567891011121314151617 | 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 fil123456 | 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_Shuffle123456 | 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.
- « Comment installer Dovecot sur Centos 7
- Comment préserver le chemin du répertoire avec la commande CP »