Comment installer et configurer Hadoop sur Ubuntu 20.04
- 2002
- 149
- Romain Martinez
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: 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 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.