Apache Hadoop est composé de plusieurs packages logiciels open source qui fonctionnent ensemble pour le stockage distribué et le traitement distribué du Big Data. Il y a quatre composants principaux dans Hadoop :
- Hadoop commun – les différentes bibliothèques logicielles dont dépend Hadoop pour s'exécuter
- Système de fichiers distribué Hadoop (HDFS) - un système de fichiers qui permet une distribution et un stockage efficaces des données volumineuses sur un cluster d'ordinateurs
- Hadoop MapReduce – utilisé pour le traitement des données
- FIL Hadoop – une API qui gère l'allocation des ressources de calcul pour l'ensemble du cluster
Dans ce tutoriel, nous allons passer en revue les étapes pour installer Hadoop version 3 sur Ubuntu 20.04. Cela impliquera l'installation de HDFS (Namenode et Datanode), YARN et MapReduce sur un cluster à nœud unique configuré en mode pseudo distribué, qui est une simulation distribuée sur une seule machine. Chaque composant de Hadoop (HDFS, YARN, MapReduce) s'exécutera sur notre nœud en tant que processus Java distinct.
Dans ce didacticiel, vous apprendrez :
- Comment ajouter des utilisateurs pour l'environnement Hadoop
- Comment installer le prérequis Java
- Comment configurer SSH sans mot de passe
- Comment installer Hadoop et configurer les fichiers XML associés nécessaires
- Comment démarrer le cluster Hadoop
- Comment accéder à l'interface utilisateur Web NameNode et ResourceManager
Apache Hadoop sur Ubuntu 20.04 Focal Fossa
Catégorie | Exigences, conventions ou version du logiciel utilisée |
---|---|
Système | Installation d'Ubuntu 20.04 ou mise à niveau d'Ubuntu 20.04 Focal Fossa |
Logiciel | Apache Hadoop, Java |
Autre | Accès privilégié à votre système Linux en tant que root ou via le sudo commande. |
Conventions | # - nécessite que les commandes linux données soient exécutées avec les privilèges root soit directement en tant qu'utilisateur root, soit en utilisant sudo commande$ – nécessite que les commandes linux données soient exécutées en tant qu'utilisateur normal non privilégié |
Créer un utilisateur pour l'environnement Hadoop
Hadoop doit avoir son propre compte utilisateur dédié sur votre système. Pour en créer un, ouvrez un terminal et tapez la commande suivante. Vous serez également invité à créer un mot de passe pour le compte.
$ sudo adduser hadoopCréer un nouvel utilisateur Hadoop
Installer le prérequis Java
Hadoop est basé sur Java, vous devrez donc l'installer sur votre système avant de pouvoir utiliser Hadoop. Au moment d'écrire ces lignes, la version 3.1.3 actuelle de Hadoop nécessite Java 8, c'est donc ce que nous allons installer sur notre système.
Utilisez les deux commandes suivantes pour récupérer les dernières listes de packages dans apt
et installez Java 8 :
$ sudo apt update $ sudo apt install openjdk-8-jdk openjdk-8-jre
Configurer SSH sans mot de passe
Hadoop s'appuie sur SSH pour accéder à ses nœuds. Il se connectera aux machines distantes via SSH ainsi qu'à votre machine locale si Hadoop est exécuté dessus. Ainsi, même si nous ne configurons Hadoop que sur notre machine locale dans ce didacticiel, nous devons toujours installer SSH. Nous devons également configurer SSH sans mot de passe
afin que Hadoop puisse établir silencieusement des connexions en arrière-plan.
- Nous aurons besoin des packages OpenSSH Server et OpenSSH Client. Installez-les avec cette commande :
$ sudo apt install openssh-server openssh-client
- Avant de continuer plus loin, il est préférable d'être connecté au
hadoop
compte utilisateur que nous avons créé précédemment. Pour changer d'utilisateur dans votre terminal actuel, utilisez la commande suivante :$ su hadoop
- Une fois ces packages installés, il est temps de générer des paires de clés publiques et privées avec la commande suivante. Notez que le terminal vous demandera plusieurs fois, mais tout ce que vous aurez à faire est de continuer à appuyer sur
ENTER
pour continuer.$ ssh-keygen -t rsa
Génération de clés RSA pour SSH sans mot de passe - Ensuite, copiez la clé RSA nouvellement générée dans
id_rsa.pub
versauthorized_keys
:$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
- Vous pouvez vous assurer que la configuration a réussi en vous connectant en SSH à localhost. Si vous êtes en mesure de le faire sans être invité à entrer un mot de passe, vous êtes prêt à partir. SSH dans le système sans être invité à entrer le mot de passe signifie que cela a fonctionné
Installez Hadoop et configurez les fichiers XML associés
Rendez-vous sur le site Web d'Apache pour télécharger Hadoop. Vous pouvez également utiliser cette commande si vous souhaitez télécharger directement le binaire Hadoop version 3.1.3 :
$ wget https://downloads.apache.org/hadoop/common/hadoop-3.1.3/hadoop-3.1.3.tar.gz
Extrayez le téléchargement vers le hadoop
répertoire personnel de l'utilisateur avec cette commande :
$ tar -xzvf hadoop-3.1.3.tar.gz -C /home/hadoop
Configuration de la variable d'environnement
L'export
suivant configureront les variables d'environnement Hadoop requises sur notre système. Vous pouvez copier et coller tout cela dans votre terminal (vous devrez peut-être changer la ligne 1 si vous avez une version différente de Hadoop) :
export HADOOP_HOME=/home/hadoop/hadoop-3.1.3
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_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
Sourcez le .bashrc
fichier dans la session de connexion en cours :
$ source ~/.bashrc
Ensuite, nous apporterons quelques modifications au fichier hadoop-env.sh
fichier, qui se trouve dans le répertoire d'installation de Hadoop sous /etc/hadoop
. Utilisez nano ou votre éditeur de texte préféré pour l'ouvrir :
$ nano ~/hadoop-3.1.3/etc/hadoop/hadoop-env.sh
Changez le JAVA_HOME
variable où Java est installé. Sur notre système (et probablement le vôtre aussi, si vous utilisez Ubuntu 20.04 et que vous nous avez suivi jusqu'à présent), nous changeons cette ligne en :
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64Modifier la variable d'environnement JAVA_HOME
Ce sera le seul changement que nous devrons apporter ici. Vous pouvez enregistrer vos modifications dans le fichier et le fermer.
Modifications de configuration dans le fichier core-site.xml
Le prochain changement que nous devons faire est à l'intérieur du core-site.xml
dossier. Ouvrez-le avec cette commande :
$ nano ~/hadoop-3.1.3/etc/hadoop/core-site.xml
Entrez la configuration suivante, qui demande à HDFS de s'exécuter sur le port 9000 de l'hôte local et configure un répertoire pour les données temporaires.
fs.defaultFS
hdfs://localhost:9000
hadoop.tmp.dir
/home/hadoop/hadooptmpdata
modifications du fichier de configuration core-site.xml Enregistrez vos modifications et fermez ce fichier. Ensuite, créez le répertoire dans lequel seront stockées les données temporaires :
$ mkdir ~/hadooptmpdata
Modifications de configuration dans le fichier hdfs-site.xml
Créez deux nouveaux répertoires pour Hadoop pour stocker les informations Namenode et Datanode.
$ mkdir -p ~/hdfs/namenode ~/hdfs/datanode
Ensuite, modifiez le fichier suivant pour indiquer à Hadoop où trouver ces répertoires :
$ nano ~/hadoop-3.1.3/etc/hadoop/hdfs-site.xml
Apportez les modifications suivantes au hdfs-site.xml
fichier, avant de l'enregistrer et de le fermer :
dfs.replication
1
dfs.name.dir
file:///home/hadoop/hdfs/namenode
dfs.data.dir
file:///home/hadoop/hdfs/datanode
Modifications du fichier de configuration hdfs-site.xml Modifications de configuration dans le fichier mapred-site.xml
Ouvrez le fichier de configuration XML de MapReduce avec la commande suivante :
$ nano ~/hadoop-3.1.3/etc/hadoop/mapred-site.xml
Et apportez les modifications suivantes avant d'enregistrer et de fermer le fichier :
mapreduce.framework.name
yarn
Modifications du fichier de configuration mapred-site.xml Modifications de configuration dans le fichier yarn-site.xml
Ouvrez le fichier de configuration YARN avec la commande suivante :
$ nano ~/hadoop-3.1.3/etc/hadoop/yarn-site.xml
Ajoutez les entrées suivantes dans ce fichier, avant d'enregistrer les modifications et de le fermer :
mapreduceyarn.nodemanager.aux-services
mapreduce_shuffle
modifications du fichier de configuration du site de fil Démarrer le cluster Hadoop
Avant d'utiliser le cluster pour la première fois, nous devons formater le namenode. Vous pouvez le faire avec la commande suivante :
$ hdfs namenode -formatFormater le NameNode HDFS
Votre terminal va cracher beaucoup d'informations. Tant que vous ne voyez aucun message d'erreur, vous pouvez supposer que cela a fonctionné.
Ensuite, démarrez le HDFS en utilisant le start-dfs.sh
script :
$ start-dfs.shExécutez le script start-dfs.sh
Maintenant, démarrez les services YARN via le start-yarn.sh
script :
$ start-yarn.shExécutez le script start-yarn.sh
Pour vérifier que tous les services/démons Hadoop sont démarrés avec succès, vous pouvez utiliser le jps
commande. Cela affichera tous les processus utilisant actuellement Java qui s'exécutent sur votre système.
$ jpsExécutez jps pour voir tous les processus dépendants de Java et vérifier que les composants Hadoop sont en cours d'exécution
Nous pouvons maintenant vérifier la version actuelle de Hadoop avec l'une des commandes suivantes :
$ hadoop version
ou
$ hdfs versionVérification de l'installation et de la version actuelle de Hadoop
Interface de ligne de commande HDFS
La ligne de commande HDFS est utilisée pour accéder à HDFS et créer des répertoires ou émettre d'autres commandes pour manipuler des fichiers et des répertoires. Utilisez la syntaxe de commande suivante pour créer des répertoires et les répertorier :
$ hdfs dfs -mkdir /test $ hdfs dfs -mkdir /hadooponubuntu $ hdfs dfs -ls /Interagir avec la ligne de commande HDFS
Accéder au Namenode et au YARN depuis le navigateur
Vous pouvez accéder à la fois à l'interface utilisateur Web pour NameNode et au gestionnaire de ressources YARN via n'importe quel navigateur de votre choix, tel que Mozilla Firefox ou Google Chrome.
Pour l'interface utilisateur Web NameNode, accédez à http://HADOOP-HOSTNAME-OR-IP:50070
Pour accéder à l'interface Web YARN Resource Manager, qui affichera toutes les tâches en cours d'exécution sur le cluster Hadoop, accédez à http://HADOOP-HOSTNAME-OR-IP:8088
Conclusion
Dans cet article, nous avons vu comment installer Hadoop sur un cluster à nœud unique dans Ubuntu 20.04 Focal Fossa. Hadoop nous fournit une solution pratique pour traiter le Big Data, nous permettant d'utiliser des clusters pour le stockage et le traitement de nos données. Il nous facilite la vie lorsque nous travaillons avec de grands ensembles de données grâce à sa configuration flexible et à son interface Web pratique.