Vous êtes sur la page 1sur 24

Configuration d’un cluster multi-nœuds Hadoop

sur Ubuntu

Élément de module : Machine learning dans le big data Année 2020-2021

universitaire :

Semestre : 4

Apache Hadoop est un framework open-source pour stocker et traiter les données
volumineuses sur un cluster. Il est utilisé par un grand nombre de contributeurs et
utilisateurs. Il a une licence Apache 2.0. Pour mettre en place un cluster géré par
Hadoop, on doit passer par certaines étapes qu’on va détailler dans ce document.

Étape 1 : téléchargement

Pour configurer un cluster multi-nœuds Hadoop sur Ubuntu comme système


d’exploitation, on a besoin de télécharger certains fichiers :

• Ubuntu la dernière version : https://ubuntu.com/download/desktop;


• VirtualBox VM : https://www.virtualbox.org/wiki/Downloads

Étape 2 : Installation machine virtuelle Ubuntu

Après l’installation de virtual Box sur votre machine, on installe une machine virtuelle
Ubuntu nom master_hadoop(Name node).

Aissam BERRAHOU 1
Spécification de la quantité de mémoire vive (RAM) en MB alloués à la machine
master_hadoop (minimum 2000MB).

Aissam BERRAHOU 2
Création d’un espace de stockage virtuel pour installer notre machine virtuelle.

Aissam BERRAHOU 3
Spécification de la taille du disque virtuel en MB.

Aissam BERRAHOU 4
Aissam BERRAHOU 5
Association du fichier iso pour installation

Démarrage de l’installation

Aissam BERRAHOU 6
Choix de la langue d’installation

Création d’une session utilisateur

Aissam BERRAHOU 7
Aissam BERRAHOU 8
Étape 3 : configuration d’un cluster Hadoop

Accédez aux paramètres réseau de votre machine virtuelle master_hadoop et activez


l’adaptateur 2. Ensuite, au lieu de NAT, choisissez Bridge(Accès par pont).

Installez SSH à l’aide de la commande suivante:

sudo apt install ssh

Configurons maintenant SSH. Créons une nouvelle clé à l’aide de la commande


suivante:

ssh-keygen -t rsa -P ""

Appuyez simplement sur Entrée chaque fois que cela est nécessaire.

Aissam BERRAHOU 9
Maintenant, nous devons copier la clé publique dans le fichier authorized_keys avec
la commande suivante :

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

Nous pouvons maintenant vérifier la configuration SSH en vous connectant à l’hôte


local :

ssh localhost

Tapez simplement «yes» et appuyez sur Entrée si nécessaire.

Aissam BERRAHOU 10
Étape 4 : Installation Java

Pour installer Java sur ubuntu, nous utilisons la commande suivante :

sudo apt install openjdk-8-jdk

Comme précédemment, donnez une confirmation si nécessaire.

Vérifiez si Java est correctement installé par la commande suivante :

java -version

Aissam BERRAHOU 11
Étape 5 : Installation de Hadoop

Téléchargez Hadoop à l’aide de la commande suivante :

sudo wget -P ~ https://mirrors.sonic.net/apache/hadoop/common/hadoop-


3.2.1/hadoop-3.2.1.tar.gz

Décompressez le fichier hadoop-3.2.1.tar.gz avec la commande suivante :

tar xzf hadoop-3.2.1.tar.gz

Changez le nom du dossier hadoop-3.2.1 en hadoop (cela le rend plus facile à utiliser).
Utilisez cette commande :

mv hadoop-3.2.1 hadoop

Ouvrez le fichier hadoop-env.sh dans l’éditeur nano pour modifier JAVA_HOME:

nano ~/hadoop/etc/hadoop/hadoop-env.sh

Collez cette ligne dans JAVA_HOME:

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

Modifiez le répertoire du dossier hadoop en /usr/local/hadoop. En utilisant la


commande suivante:

sudo mv hadoop /usr/local/hadoop

Aissam BERRAHOU 12
Ouvrez le fichier d’environnement sur nano avec cette commande :

sudo nano /etc/environment

Ajoutez ensuite les configurations suivantes :

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/loc
al/games:/usr/local/hadoop/bin:/usr/local/hadoop/sbin"JAVA_HOME="/usr/lib/jvm/
java-8-openjdk-amd64/jre"

Étape 6 : Création des esclaves datanodes

Arrêtez votre machine virtuelle maître et clonez-la deux fois, en nommant un slave1
et l’autre slave2.

Aissam BERRAHOU 13
On suit les mêmes étapes pour créer slave2

Aissam BERRAHOU 14
Étape 7 : Configuration de Hadoop

Sur la machine virtuelle principale, ouvrez le fichier de nom d’hôte sur nano:

sudo nano /etc/hostname

Insérez le nom de votre machine virtuelle principale.

Démarrer les deux machines esclaves et faites la même chose puis redémarrer les deux
machines :

Aissam BERRAHOU 15
Ouvrez le fichier hosts (dans les trois machines) et insérez les configurations réseau
suivantes :

sudo nano /etc/hosts

Configurer les paramètres réseau sur les trois machines :

Accédez aux paramètres réseau de votre machine virtuelle master_hadoop et activez


l’adaptateur 2. Ensuite, au lieu de NAT, choisissez Bridge(Accès par pont).

Aissam BERRAHOU 16
Aissam BERRAHOU 17
En outre, vous devez tous les redémarrer pour que cette configuration prenne effet

sudo reboot

Créez une clé SSH:

ssh-keygen -t rsa

Nous devons maintenant copier la clé SSH à tous les utilisateurs. Utilisez cette

commande:

ssh-copy-id hadoopuser@hadoop-master
ssh-copy-id hadoopuser@hadoop-slave1
ssh-copy-id hadoopuser@hadoop-slave2

Sur hadoop-master, ouvrez le fichier core-site.xml sur nano:


sudo nano /usr/local/hadoop/etc/hadoop/core-site.xml

Ajoutez ensuite les configurations suivantes :


<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop-master:9000</value>
</property>
</configuration>

Aissam BERRAHOU 18
Toujours sur hadoop-master, ouvrez le fichier hdfs-site.xml.
sudo nano /usr/local/hadoop/etc/hadoop/hdfs-site.xml

Ajoutez ensuite les configurations suivantes:


<configuration>
<property>
<name>dfs.namenode.name.dir</name><value>/usr/local/hadoop/data/nameNode</val
ue>
</property>
<property>
<name>dfs.datanode.data.dir</name><value>/usr/local/hadoop/data/dataNode</value
>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>

ajouter le répertoire data puis les répertoires dataNode et nameNode à l’intérieur du


data

Aissam BERRAHOU 19
Nous sommes toujours sur hadoop-master, ouvrons le dossier workers:
sudo nano /usr/local/hadoop/etc/hadoop/workers

Ajoutez ces deux lignes: (les noms des esclaves, vous vous souvenez du fichier hosts?)
hadoop-slave1
hadoop-slave2

Nous devons copier les configurations Hadoop Master sur les esclaves, pour ce faire,

nous utilisons ces commandes :


scp /usr/local/hadoop/etc/hadoop/* hadoop-slave1:/usr/local/hadoop/etc/hadoop/

scp /usr/local/hadoop/etc/hadoop/* hadoop-slave2:/usr/local/hadoop/etc/hadoop/

Aissam BERRAHOU 20
Nous devons maintenant formater le système de fichiers HDFS. Exécutez ces

commandes:
source /etc/environment
hdfs namenode -format
export PATH=$PATH:/usr/local/hadoop/sbin

Démarrez HDFS avec cette commande:


start-all.sh

Pour vérifier si cela a fonctionné, exécutez la commande suivante. Cela vous


indiquera quelles ressources ont été initialisées:
jps

Aissam BERRAHOU 21
Voyons si cela a fonctionné : Ouvrez votre navigateur et tapez hadoop-master: 9870.

Étape 8 : Configuration de YARN

Dans les deux esclaves, ouvrez yarn-site.xml sur nano:


sudo nano /usr/local/hadoop/etc/hadoop/yarn-site.xml

Vous devez ajouter les configurations suivantes sur les deux esclaves:
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop-master</value>
</property>
</configuration>

Aissam BERRAHOU 22
Aissam BERRAHOU 23
Ouvrez votre navigateur. Vous allez maintenant taper http://hadoop-
master:8088/cluster

Aissam BERRAHOU 24

Vous aimerez peut-être aussi