Comment installer Hadoop sur RHEL 8 / Centos 8 Linux
- 1121
- 169
- Lucas Bernard
Apache Hadoop est un cadre open source utilisé pour le stockage distribué ainsi que le traitement distribué des mégadonnées sur des grappes d'ordinateurs qui s'exécutent sur des marchandises de marchandises. Hadoop stocke les données dans le système de fichiers distribué Hadoop (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 cadre 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 installerons HDFS (Namenode et Datanode), le fil, MapReduce sur le cluster de nœuds unique en mode pseudo distribué qui est distribué de simulation sur une seule machine. Chaque démon Hadoop tel que HDFS, fil, MapReduce, etc. fonctionnera comme un processus Java séparé / individuel.
Dans ce tutoriel, vous apprendrez:
- Comment ajouter des utilisateurs pour un environnement Hadoop
- Comment installer et configurer l'Oracle JDK
- Comment configurer SSH sans mot de passe
- Comment installer Hadoop et configurer les fichiers XML liés nécessaires
- Comment démarrer le cluster Hadoop
- Comment accéder à Namenode et à ResourceManager Web UI
Exigences et conventions logicielles utilisées
Catégorie | Exigences, conventions ou version logicielle 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 racine ou via le Sudo commande. |
Conventions | # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande$ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier |
Ajouter des utilisateurs pour l'environnement Hadoop
Créez le nouvel utilisateur et le nouvel groupe à l'aide de la commande:
# useradd hadoop # passwd hadoop
[root @ hadoop ~] # useradd hadoop [root @ hadoop ~] # passwd hadoop change de 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. [root @ hadoop ~] # cat / etc / passwd | grep hadoop hadoop: x: 1000: 1000 :: / home / hadoop: / bin / bash
Installer et configurer l'Oracle JDK
Téléchargez et installez le JDK-8U202-LINUX-X64.RPM Package officiel pour installer l'Oracle JDK.
[root @ hadoop ~] # rpm -ivh jdk-8u202-linux-x64.AVERTISSEMENT RPM: JDK-8U202-LINUX-X64.RPM: en-tête V3 RSA / SHA256 Signature, ID clé EC551F03: Nokey Vérification… ################################ 100%] Préparation… ################################ # ° [100%] Mise à jour / installation… 1: JDK1.8-2000: 1.8.0_202-fcs ################################# [100%] Déballage des fichiers de pot… Outils.pot… plugin.pot… javaws.pot… déploier.pot… rt.pot… JSSE.pot….pot… localdata.pot…
Après l'installation pour vérifier que le java a été configuré avec succès, exécutez les commandes suivantes:
[root @ hadoop ~] # java -version Java version "1.8.0_202 "Java (TM) SE Runtime Environment (Build 1.8.0_202-b08) Java Hotspot (TM) VM du serveur 64 bits (build 25.202-b08, mode mixte) [root @ hadoop ~] # Mise à jour-alternatives - Config Java Il 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 SSH ouvert et ouvrez le client 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_64 OpenSSL-libs-1.1.1-6.EL8.x86_64 OpenSSL-1.1.1-6.EL8.x86_64 OpenSSH-CLIENTS-7.8p1-3.EL8.x86_64 OpenSSH-7.8p1-3.EL8.x86_64 OpenSSL-PKCS11-0.4.8-2.EL8.x86_64
Générer des paires de clés publiques et privées avec la commande suivante. Le terminal incitera à saisir le nom du fichier. Presse ENTRER
et procéder. Après cette copie, le formulaire de clés publics id_rsa.pub
pour autorisé_keys
.
$ ssh-keygen -t rsa $ cat ~ /.ssh / id_rsa.pub >> ~ /.ssh / autorisé_keys $ chmod 640 ~ /.SSH / AUTORISED_KEYS
[hadoop @ hadoop ~] $ ssh-keygen -t rsa générant une paire 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é est: sha256: h + llpkajjdd7b0f0je / nfjrp5 / fuejswmmzpjfxoelg hadoop @ hadoop.bac à sable.com L'image Randomart 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 / autorisé_keys [hadoop @ hadoop ~] $ chmod 640 ~ /.SSH / AUTORISED_KEYS
Vérifiez la configuration SSH sans mot de passe avec la commande:
$ ssh
[hadoop @ hadoop ~] $ ssh hadoop.bac à sable.com console web: https: // hadoop.bac à sable.com: 9090 / ou https: // 192.168.1.108: 9090 / Dernière connexion: SAT 13 avril 12:09:55 2019 [Hadoop @ Hadoop ~] $
Installez Hadoop et configurez les fichiers XML connexes
Télécharger et extraire Hadoop 2.8.5 du site officiel Apache.
# wget https: // archive.apache.org / dist / hadoop / commun / hadoop-2.8.5 / Hadoop-2.8.5.le goudron.GZ # TAR -XZVF HADOOP-2.8.5.le goudron.gz
[root @ rhel8-sandbox ~] # wget https: // archive.apache.org / dist / hadoop / commun / hadoop-2.8.5 / Hadoop-2.8.5.le goudron.GZ --2019-04-13 11: 14: 03-- https: // archive.apache.org / dist / hadoop / commun / hadoop-2.8.5 / Hadoop-2.8.5.le goudron.GZ Résolution des archives.apache.org (archive.apache.org)… 163.172.17.199 Connexion aux archives.apache.org (archive.apache.org) | 163.172.17.199 |: 443… connecté. Demande HTTP envoyée, en attente de réponse… 200 OK Longueur: 246543928 (235m) [Application / X-GZIP] Enregistrement vers: «Hadoop-2.8.5.le goudron.gz 'hadoop-2.8.5.le goudron.GZ 100% [============================================================ =====================================>] 235.12m 1.47 Mo / s en 2m 53S 2019-04-13 11:16:57 (1.36 Mb / s) - 'Hadoop-2.8.5.le goudron.GZ 'enregistré [246543928/246543928]
Configuration des variables d'environnement
Modifier le bashrc
Pour l'utilisateur Hadoop via la configuration des variables d'environnement Hadoop suivantes:
exporter 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 exporter hadoop_opts = "- djava.bibliothèque.path = $ hadoop_home / lib / natif "
Copie Source le .bashrc
Dans la session de connexion actuelle.
$ source ~ /.bashrc
Modifier le Hadoop-env.shot
fichier qui est dans / etc / hadoop
À l'intérieur du répertoire d'installation de Hadoop et effectuez les modifications suivantes et vérifiez si vous souhaitez modifier d'autres configurations.
Exporter 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 "
Copie Modifications de configuration dans le site core.fichier xml
Modifier le site de base.xml
avec VIM ou vous pouvez utiliser l'un des éditeurs. Le fichier est sous / etc / hadoop
à l'intérieur hadoop
Répertoire d'accueil et ajouter les entrées suivantes.
FS.defaultfs hdfs: // hadoop.bac à sable.com: 9000 hadoop.TMP.diron / home / hadoop / hadooptmpdata
Copie De plus, créez le répertoire sous hadoop
dossier à domicile.
$ mkdir hadooptmpdata
Modifications de configuration dans le site HDFS.fichier xml
Modifier le site HDFS.xml
qui est présent sous le même endroit que je.e / etc / hadoop
à l'intérieur hadoop
Répertoire d'installation et créez le Namenode / Datanode
répertoires sous hadoop
répertoire de la maison utilisateur.
$ mkdir -p hdfs / namenode $ mkdir -p hdfs / datanode
DFS.réplication 1 DFS.nom.diron fichier: /// home / hadoop / hdfs / namenode DFS.données.diron fichier: /// home / hadoop / hdfs / datanode
Copie Modifications de configuration dans le site mapred.fichier xml
Copier le site mapred.xml
depuis site mapred.xml.modèle
en utilisant CP
commande puis modifier le site mapred.xml
placé dans / etc / hadoop
sous hadoop
Répertoire d'instillation avec les modifications suivantes.
$ cp mapred site.xml.modèle de site mapred.xml
mapreduce.cadre.nom fil
Copie Modifications de configuration dans le site de fil.fichier xml
Modifier Site de fil.xml
avec les entrées suivantes.
mapreduceyarn.nodemanager.services aux auxiliaires MapReduce_Shuffle
Copie Démarrer le cluster Hadoop
Formatez le namenode avant de l'utiliser pour la première fois. Au fur et à mesure que l'utilisateur Hadoop exécute la commande ci-dessous pour formater le namenode.
$ hdfs namenode -format
[hadoop @ hadoop ~] $ hdfs namenode -format 19/04/13 11:54:10 info namenode.Namenode: startup_msg: / ********************************************* ***********.bac à sable.com / 192.168.1.108 startup_msg: args = [-format] startup_msg: version = 2.8.5 19/04/13 11:54:17 Info namenode.FsNamesystem: DFS.namenode.safemode.Threshold-pct = 0.9990000128746033 19/04/13 11:54:17 Info namenode.FsNamesystem: DFS.namenode.safemode.min.datanodes = 0 19/04/13 11:54:17 info namenode.FsNamesystem: DFS.namenode.safemode.Extension = 30000 19/04/13 11:54:18 Info Metrics.TopMetrics: Nntop Conf: DFS.namenode.haut.fenêtre.nobs.seaux = 10 19/04/13 11:54:18 Info Metrics.TopMetrics: Nntop Conf: DFS.namenode.haut.nobs.Utilisateurs = 10 19/04/13 11:54:18 Info Metrics.TopMetrics: Nntop Conf: DFS.namenode.haut.les fenêtres.Minutes = 1,5,25 19/04/13 11:54:18 Info namenode.FsNamesystem: Retry Cache sur NameNode est activé 19/04/13 11:54:18 Info namenode.FsNamesystem: Retry Cache utilisera 0.03 du tas de tas et de réessayer l'entrée de cache, le temps d'expiration est de 600000 millis 19/04/13 11:54:18 Info util.GSET: Capacité informatique pour la carte NAMENODERETR.GSET: Type de machine virtuelle = 64 bits 19/04/13 11:54:18 Info Util.GSET: 0.029999999329447746% Mémoire max 966.7 Mb = 297.0 KB 19/04/13 11:54:18 Info Util.GSET: Capacité = 2 ^ 15 = 32768 Entrées 19/04/13 11:54:18 Info namenode.FSIMAGE: Nouveau blockpoolid alloué: BP-415167234-192.168.1.108-1555142058167 19/04/13 11:54:18 Info Commun.Stockage: le 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 Utilisation de non-compression 19/04/13 11:54:18 Info namenode.FsimageFormatProtobuf: fichier image / home / hadoop / hdfs / namenode / current / fsimage.CKPT_0000000000000000000 de taille 323 octets enregistrés en 0 seconde. 19/04/13 11:54:18 Info namenode.NnstorageRetentionManager: aller conserver 1 images avec TXID> = 0 19/04/13 11:54:18 Info util.EXITUTIL: Sortie avec statut 0 19/04/13 11:54:18 Info namenode.Namenode: shutdown_msg: / ********************************************* *************** shutdown_msg: Arrêt Namenode à Hadoop.bac à sable.com / 192.168.1.108 ************************************************* *********** /
Une fois le namenode formaté, démarrez les HDF en utilisant le start-dfs.shot
scénario.
$ start-dfs.shot
[hadoop @ hadoop ~] $ start-dfs.sh partant namenodes sur [Hadoop.bac à sable.com] hadoop.bac à sable.com: Démarrer le namenode, enregistrer à / home / hadoop / hadoop-2.8.5 / Logs / Hadoop-Hadoop-Namenode-Hadoop.bac à sable.com.Hadoop.bac à sable.com: démarrer datanode, connexion vers / home / hadoop / hadoop-2.8.5 / Logs / Hadoop-Hadoop-Datanode-Hadoop.bac à sable.com.OUT DÉMARRAGE Namenodes secondaires [0.0.0.0] L'authenticité de l'hôte '0.0.0.0 (0.0.0.0) «Je ne peux pas être établi. ECDSA Key Finger empreinte est Sha256: E + nfcek / kvnignwdhgfvikhjbwwghiijjkfjygr7nki. Êtes-vous sûr de vouloir continuer à vous connecter (oui / non)? Oui 0.0.0.0: AVERTISSEMENT: Ajouté en permanence '0.0.0.0 '(ECDSA) à la liste des hôtes connus. Hadoop @ 0.0.0.Mot de passe du 0: 0.0.0.0: Démarrage du SecondaryNaMenode, enregistrant à / home / hadoop / hadoop-2.8.5 / Logs / Hadoop-Hadoop-Secondarynamenode-Hadoop.bac à sable.com.dehors
Pour démarrer les services de fil, vous avez besoin pour exécuter le script de démarrage du fil I.e. démarrage.shot
$ start-yarn.shot
[hadoop @ hadoop ~] $ start-yarn.sh partant le fil Daemons Démarrage de ResourceManager, enregistrant à / home / hadoop / hadoop-2.8.5 / Logs / Yarn-Hadoop-ResourceManager-Hadoop.bac à sable.com.Hadoop.bac à sable.com: Démarrer Nodemanager, enregistrer à / home / hadoop / hadoop-2.8.5 / Logs / Yarn-Hadoop-Nodemanager-Hadoop.bac à sable.com.dehors
Pour vérifier que tous les services / daémons Hadoop sont lancés avec succès, vous pouvez utiliser le JPS
commande.
$ JPS 2033 Namenode 2340 SecondaryNameNode 2566 ResourceManager 2983 JPS 2139 Datanode 2671 Nodemanager
Maintenant, nous pouvons vérifier la version Hadoop actuelle que vous pouvez utiliser ci-dessous la commande:
$ Hadoop Version
ou
Version HDFS $
[Hadoop @ Hadoop ~] $ Hadoop Version Hadoop 2.8.5 subversion https: // git-wip-us.apache.org / repos / asf / hadoop.GIT -R 0B8464D75227FCEE2C6E7F2410377B3D53D3D5F8 Compilé par JDU le 2018-09-10T03: 32Z compilé avec Protoc 2.5.0 de Source avec Checksum 9942CA5C745417C14E318835F420733 Cette commande a été exécutée en utilisant / home / hadoop / hadoop-2.8.5 / Share / Hadoop / Common / Hadoop-Common-2.8.5.jar [hadoop @ hadoop ~] $ hdfs version hadoop 2.8.5 subversion https: // git-wip-us.apache.org / repos / asf / hadoop.GIT -R 0B8464D75227FCEE2C6E7F2410377B3D53D3D5F8 Compilé par JDU le 2018-09-10T03: 32Z compilé avec Protoc 2.5.0 de Source avec Checksum 9942CA5C745417C14E318835F420733 Cette commande a été exécutée en utilisant / home / hadoop / hadoop-2.8.5 / Share / Hadoop / Common / Hadoop-Common-2.8.5.pot [hadoop @ hadoop ~] $
Interface de ligne de commande HDFS
Pour accéder au 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 / trouvé 2 éléments drwxr-xr-x - hadoop supergroup 0 2019-04-13 11:58 / hadoopdata drwxr-xr-x - hadoop supergroup 0 2019-04-13 11: 59 / TestData
Accéder au Namenode et au fil du navigateur
Vous pouvez accéder à la fois sur l'interface utilisateur Web pour Namenode et le gestionnaire de ressources de Yarn via l'un des navigateurs comme Google Chrome / Mozilla Firefox.
Namenode Web UI - http: //: 50070
L'interface Web de gestion des ressources de Yarn (RM) affichera tous les travaux en cours d'exécution sur le cluster Hadoop actuel.
Interface utilisateur du gestionnaire de ressources - http: //: 8088
Conclusion
Le monde change la façon dont il fonctionne actuellement et les grosses données jouent un rôle majeur dans cette phase. Hadoop est un cadre qui facilite notre LIF tout en travaillant sur de grands ensembles de données. Il y a des améliorations sur tous les fronts. L'avenir est excitant.
Tutoriels Linux connexes:
- Ubuntu 20.04 Hadoop
- Choses à installer sur Ubuntu 20.04
- Comment créer un cluster Kubernetes
- Comment installer Kubernetes sur Ubuntu 20.04 Focal Fossa Linux
- Comment installer Kubernetes sur Ubuntu 22.04 Jammy Jellyfish…
- Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
- Choses à installer sur Ubuntu 22.04
- Comment travailler avec l'API WooCommerce REST avec Python
- Comment gérer les grappes de Kubernetes avec Kubectl
- Une introduction à l'automatisation Linux, des outils et des techniques
- « Comment installer WordPress.Com Application de bureau sur Ubuntu 19.04 disco dingo linux
- Comment installer Redmin sur Rhel 8 / Centos 8 Linux »