GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Ubuntu 20.04 Hadoop

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
Configuration logicielle requise et conventions de ligne de commande Linux
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 hadoop

Cré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.

  1. Nous aurons besoin des packages OpenSSH Server et OpenSSH Client. Installez-les avec cette commande :
    $ sudo apt install openssh-server openssh-client
    
  2. 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
    
  3. 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
  4. Ensuite, copiez la clé RSA nouvellement générée dans id_rsa.pub vers authorized_keys :
    $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    
  5. 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-amd64

Modifier 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 -format

Formater 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.sh

Exécutez le script start-dfs.sh

Maintenant, démarrez les services YARN via le start-yarn.sh script :

$ start-yarn.sh

Exé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.

$ jps

Exé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 version

Vé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

Interface Web DataNode pour Hadoop

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

Interface Web du gestionnaire de ressources YARN pour Hadoop

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.


Ubuntu
  1. Installer Podman sur Ubuntu

  2. Comment installer Hadoop sur Ubuntu 18.04 ou 20.04

  3. Installez VirtualBox 4.2 sur Ubuntu 13.04

  4. Installez VirtualBox 4.3 sur Ubuntu 14.04

  5. Installer uTorrent sur Ubuntu 16.04

Installer Ruby sur Ubuntu 20.04

Installer Flameshot dans Ubuntu 20.04

Installer Podman sur Ubuntu 20.04

Installer Tig sur Ubuntu 20.04

Comment installer qt sur Ubuntu 20.04

Comment installer Hadoop sur Ubuntu 20.04