Vous êtes sur la page 1sur 11

Comment installer et configurer Hadoop sous Ubuntu

Hadoop est un framework logiciel gratuit, open source et basé sur


Java est utilisé pour le stockage et le traitement d’un grands
volume de données sur des clusters de machines. Il utilise HDFS
pour le stockage et le traitement des données à l'aide de
MapReduce. Il s'agit d'un écosystème d'outils Big Data
principalement utilisés pour l'exploration de données et
l'apprentissage automatique.

Étape 1 – Installation de Java


Hadoop est écrit en Java. Hadoop version 3.3 et les dernières
versions prennent également en charge l'environnement
d'exécution Java 11 ainsi que Java 8.
Installer OpenJDK 11 à partir des référentiels apt par défaut :
sudo apt update
sudo apt install openjdk-11-jdk

Une fois installé, vérifiez la version installée de Java avec la


commande suivante :
java -version

Il faut avoir la sortie suivante :


openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode,
sharing)

Étape 2 – Création d’un utilisateur Hadoop


C'est une bonne idée de créer un utilisateur distinct pour exécuter
Hadoop pour des raisons de sécurité.
Exécutez la commande suivante pour créer un nouvel utilisateur
avec le nom hadoop :
sudo adduser hadoop

Étape 3 – Configuration de SSH Key-based Authentication


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

Ensuite, ajoutez les clés publiques générées de id_rsa.pub à


authorized_keys et définissez l'autorisation appropriée :
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 640 ~/.ssh/authorized_keys

Ensuite, vérifiez l'authentification SSH sans mot de passe avec la


commande suivante :
ssh localhost

É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 d'Hadoop à l'aide de la commande


wget :
wget https://downloads.apache.org/hadoop/common/hadoop-
3.3.0/hadoop-3.3.0.tar.gz

Extraire le fichier :
tar -xvzf hadoop-3.3.0.tar.gz

Renommer le fichier en hadoop:


mv hadoop-3.3.0 hadoop

Configurer les variables d'environnement Hadoop et Java sur votre


système.
Ouvrir le fichier ~/.bashrc :
nano ~/.bashrc

Ajouter les lignes suivantes : Tapez la commande suivante :


dirname $(dirname $(readlink -f $(which java))) pour
trouver la location JAVA_HOME
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
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_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"

Ensuite, activez les variables d'environnement avec la commande


suivante :
source ~/.bashrc

Par la suite, ouvrir le fichier d’environnement de


Hadoop:
nano $HADOOP_HOME/etc/hadoop/hadoop-env.sh

Et ajouter la ligne pour de l’environnement Java.


export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

Étape 5 – Configuration de Hadoop


Tout d'abord, créer les répertoires namenode et
datanode dans le répertoire de base Hadoop :
mkdir -p ~/hadoopdata/hdfs/namenode
mkdir -p ~/hadoopdata/hdfs/datanode

Ensuite, modifiez le fichier core-site.xml et


mettez à jour le nom d'hôte de votre système :
nano $HADOOP_HOME/etc/hadoop/core-site.xml

Modifiez le nom suivant en fonction du nom d'hôte


de votre système :
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://oranix:9000</value>
</property>
</configuration>

Ouvrir le fichier hdfs-site.xml:


nano $HADOOP_HOME/etc/hadoop/hdfs-site.xml

Changer le chemin du répertoire NameNode et DataNode


comme suit :
<configuration>

<property>
<name>dfs.replication</name>
<value>1</value>
</property>

<property>
<name>dfs.name.dir</name>
<value>file:///home/hadoop/hadoopdata/hdfs/namenode</value>
</property>

<property>
<name>dfs.data.dir</name>

<value>file:///home/hadoop/hadoopdata/hdfs/datanode</value>
</property>
</configuration>

Ouvrir le fichier mapred-site.xml :


nano $HADOOP_HOME/etc/hadoop/mapred-site.xml

et définissez les valeurs MapReduce:


<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
Ouvrir le fichier yarn-site.xml:
nano $HADOOP_HOME/etc/hadoop/yarn-site.xml

Apportez les modifications suivantes


<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
Étape 6 – Démarrage du Cluster Hadoop

Avant de démarrer le cluster Hadoop. 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: Going to retain
1 images with txid >= 0
2020-11-23 10:31:51,323 INFO namenode.FSImage: FSImageSaver clean checkpoint:
txid=0 when meet shutdown.
2020-11-23 10:31:51,323 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at hadoop.tecadmin.net/127.0.1.1
************************************************************/

Après avoir formaté le Namenode, exécutez la commande


suivante pour démarrer le cluster hadoop :
start-dfs.sh

Une fois que HDFS a démarré avec succès, vous devriez


obtenir la sortie suivante :
Starting namenodes on [hadoop.tecadmin.com]
hadoop.tecadmin.com: Warning: Permanently added
'hadoop.tecadmin.com,fe80::200:2dff:fe3a:26ca%eth0' (ECDSA) to the list of known
hosts.
Starting datanodes
Starting secondary namenodes [hadoop.tecadmin.com]

Ensuite, démarrez le service YARN comme indiqué ci-


dessous :
start-yarn.sh

vous devriez obtenir la sortie suivante :


Starting resourcemanager
Starting nodemanagers

Vous pouvez désormais 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 - Ajuster le Firewall


Hadoop est maintenant démarré et écoute sur les ports
9870 et 8088. Il faut autoriser ces ports à travers le
pare-feu.
Exécutez la commande suivante pour autoriser les
connexions Hadoop via 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 :
firewall-cmd --reload

Étape 8 - Accédez à Hadoop Namenode et


Manager
Pour accéder au Namenode
http://hadoop.tecadmin.net:9870
Pour accéder à la gestion des ressources,
http://hadoop.tecadmin.net:8088
Étape 9 - Vérification du Hadoop Cluster
À ce stade, le cluster Hadoop est installé et configuré.
Ensuite, nous allons créer des répertoires dans le
système de fichiers HDFS pour tester Hadoop.
Créons un répertoire 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 :
Found 3 items
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 dans le système de


fichiers hadoop. Par exemple, placer les fichiers
journaux de la machine hôte vers le système de fichiers
hadoop.
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 Utilitaires =>
Parcourir le système de fichiers. Vous devriez voir vos
répertoires que vous avez créés précédemment dans l'écran
suivant :
http://hadoop.tecadmin.net:9870/explorer.html
Étape 10 – Arrêt du Hadoop Cluster
Vous pouvez également arrêter le service Hadoop Namenode
and Yarn à tout moment en exécutant les scripts stop-
dfs.sh et stop-yarn.sh avec le compte Hadoop.
Pour arrêter le service Hadoop Namenode, exécutez la
commande suivante en tant qu'utilisateur hadoop :
stop-dfs.sh

Pour arrêter le service Hadoop Resource Manager, exécutez


la commande suivante :
stop-yarn.sh

Vous aimerez peut-être aussi