Comment installer et configurer Hadoop sur Ubuntu 20.04

Comment installer et configurer Hadoop sur Ubuntu 20.04

Hadoop est un cadre logiciel gratuit, open-source et basé sur 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.

Apache Hadoop 3.3 est livré avec des améliorations notables et de nombreux correctifs de bogues sur les versions précédentes. Il a quatre composants majeurs tels que Hadoop Common, HDFS, YARN et MapReduce.

Ce tutoriel vous expliquera comment installer et configurer Apache Hadoop sur Ubuntu 20.04 Système LTS Linux.

Étape 1 - Installation de Java

Hadoop est écrit en java et ne prend en charge que Java version 8. Hadoop Version 3.3 et le dernier soutient également Java 11 Runtime ainsi que Java 8.

Vous pouvez installer OpenJDK 11 à partir des référentiels APT par défaut:

Mise à jour Sudo Apt  sudo apt install openjdk-11-jdk 

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 "11.0.11 "2021-04-20 Environnement d'exécution OpenJDK (construire 11.0.11 + 9-Ubuntu-0ubuntu2.20.04) VM du serveur OpenJDK 64 bits (build 11.0.11 + 9-Ubuntu-0ubuntu2.20.04, mode mixte, partage) 

Étape 2 - 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:

sudo addUser Hadoop  

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

Ajout de l'utilisateur «Hadoop»… ajoutant un nouveau groupe «Hadoop» (1002)… ajoutant un nouvel utilisateur «Hadoop» (1002) avec le groupe «Hadoop»… Création du répertoire personnel »/ Home / Hadoop»… Copie de fichiers à partir de «/ etc / skel» … Nouveau mot de passe: Retyper le nouveau mot de passe: PASSWD: Mot de passe mis à jour pour modifier avec succès les informations de l'utilisateur pour Hadoop Entrez la nouvelle valeur, ou appuyez sur Entrée pour le nom complet par défaut []: Numéro de salle []: Téléphone de travail []: Téléphone domestique []: Autre []: les informations sont-elles correctes? [O / N] Y 

Étape 3 - 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: QSA2SYEISWP0HD + UXXXI0J9MSORJKDGIBKFBM3EJYIK [Protégé par e-mail] L'image aléatoire de la clé est: + --- [RSA 3072] ---- + |… O ++ =.+ | |… Oo++.O | |. oo. B . | | o… + o * . | | = ++ o o s | |.++O + O | |.+.+ + . O | | o . o * 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 / AUTORISED_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 (127.0.0.1) «Je ne peux pas être établi. ECDSA Key Finger empreinte est SHA256: jfqdvbm3ztphupgd5omj4clvih6tzirz2gd3bdnqgmq. Êtes-vous sûr de vouloir continuer à vous connecter (oui / non / [empreinte digitale])? Oui 

Étape 4 - Installation de 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 https: // téléchargements.apache.org / hadoop / commun / hadoop-3.3.0 / Hadoop-3.3.0.le goudron.gz  

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

TAR -XVZF HADOOP-3.3.0.le goudron.gz  

Ensuite, renommez le répertoire extrait à Hadoop:

mv hadoop-3.3.0 Hadoop  

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

Ouvrir le ~ /.bashrc Fichier dans votre éditeur de texte préféré:

nano ~ /.bashrc  

Ajoutez les lignes ci-dessous pour fichier. Vous pouvez trouver l'emplacement de Java_Home en fonctionnant dirname $ (dirname $ (readLink -f $ (qui java))) Commande sur le terminal.

export java_home = / usr / lib / jvm / java-11-openjdk-amd64 export hadoop_home = / home / hadoop / hadoop export hadoop_install = $ hadoop_home export hadoop_mapred_home = $ hadoop_home hadoop_comon_home = $ hadhome export_homyhyre_home_port_homax_home export_homa_home export_homa_home_port_home export_home_home export_home_port_home Export_homa_home Export_homa_home Export_homa_home Export_homa_home Export_homa_home Export_homa_home Export_homa_home Export_homa_ Hadoop_home export hadoop_common_lib_native_dir = $ hadoop_home / lib / natif export path = $ path: $ 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  

Définissez à nouveau le java_home dans l'environnement Hadoop.

Exporter java_home = / usr / lib / jvm / java-11-openjdk-amd64 

Enregistrer et fermer le fichier lorsque vous avez terminé.

Étape 5 - Configuration de 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 6 - 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-11-23 10: 31: 51,318 Info namenode.NnstorageRetentionManager: aller conserver 1 images avec txid> = 0 2020-11-23 10: 31: 51,323 info namenode.FSIMAGE: FSIMageSaver Clean Checkpoint: TXID = 0 Lors de la rencontre de l'arrêt. 2020-11-23 10: 31: 51,323 Info namenode.Namenode: shutdown_msg: / ********************************************* *************** shutdown_msg: Arrêt Namenode à Hadoop.técadmin.net / 127.0.1.1 ************************************************* *********** / 

Après la mise en forme du 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:

18194 Namenode 18822 Nodemanager 17911 SecondaryNamenode 17720 Datanode 18669 ResourceManager 19151 JPS 

Étape 7 - Ajustez le pare-feu

Hadoop commence maintenant et écoute les ports 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 8 - 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:

http: // hadoop.técadmin.net: 9870

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

http: // hadoop.técadmin.Net: 8088

Étape 9 - Vérifiez le cluster Hadoop

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

Créons quelques répertoires dans le système de fichiers HDFS à l'aide de la commande suivante:

HDFS DFS -MKDIR / TEST1 HDFS DFS -MKDIR / LOGS  

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

hdfs dfs -ls /  

Vous devriez obtenir la sortie suivante:

Trouvé 3 éléments drwxr-xr-x - Hadoop SuperGroup 0 2020-11-23 10:56 / Logs drwxr-xr-x - Hadoop SuperGroup 0 2020-11-23 10:51 / test1 

Mettez également certains fichiers au système de fichiers Hadoop. Pour l'exemple, mettant les fichiers journaux de Host Machine à Hadoop File System.

hdfs dfs -put / var / log / * / logs /  

Vous pouvez également vérifier les fichiers et 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:

http: // hadoop.técadmin.Net: 9870 / Explorer.html

Étape 10 - 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

Ce didacticiel vous a expliqué un tutoriel étape par étape pour installer et configurer Hadoop sur Ubuntu 20.04 Système Linux.