Modes de Déploiement Hadoop

Comment déployer Hadoop ?

Hadoop peut être déployé de 3 façons selon vos besoins : du simple test sur laptop jusqu'au cluster de centaines de machines en production.

Les 3 modes Installation Quiz

1 Les 3 Modes de Déploiement

Mode Local
Standalone Mode
🧑‍💻 Développement 🧪 Tests unitaires

Hadoop s'exécute dans un seul processus JVM. Pas de HDFS, pas de YARN. Tout tourne sur le filesystem local. C'est le mode par défaut après décompression.

Avantages
  • Installation immédiate, zéro configuration réseau
  • Debug facile avec un IDE (IntelliJ, Eclipse)
  • Idéal pour développer des jobs MapReduce
  • Fonctionne sur n'importe quel PC/Mac
Limitations
  • Pas de distribution réelle des données
  • Pas de tolérance aux pannes
  • Non représentatif d'un vrai cluster
Stockage : Filesystem local
Processus : 1 seul JVM
RAM min : 4 GB
Mode Pseudo-Distribué
Pseudo-Distributed
⭐ Recommandé apprentissage 🏫 Formation

Hadoop tourne sur une seule machine, mais chaque daemon (NameNode, DataNode, YARN…) s'exécute dans son propre processus JVM séparé. HDFS est actif, mais sur un seul nœud.

Avantages
  • Simule un vrai cluster sur 1 machine
  • HDFS actif avec réplication ×1
  • YARN opérationnel pour les jobs
  • Testable sur VM ou laptop (8 GB RAM)
  • Parfait pour apprendre et expérimenter
Limitations
  • Pas de vraie distribution (1 machine)
  • Réplication ×1 uniquement (pas de HA)
Stockage : HDFS sur disque local
Processus : 5 JVMs séparés
RAM min : 8 GB
Mode Totalement Distribué
Fully Distributed
🏭 Production ⚡ Haute perf.

Hadoop tourne sur un vrai cluster de plusieurs machines physiques ou VMs. Chaque nœud a un rôle défini. C'est le seul mode utilisé en production.

Avantages
  • Vraie scalabilité horizontale
  • Tolérance aux pannes réelle (réplication ×3)
  • Performance Big Data (PB+)
  • Haute disponibilité (NameNode HA)
Limitations
  • Configuration complexe (réseau, SSH, DNS)
  • Nécessite plusieurs machines ou VMs
Stockage : HDFS distribué sur N machines
Processus : 5+ daemons par nœud
RAM min : 16 GB+/nœud
Tableau comparatif des 3 modes
CritèreMode LocalPseudo-Distribué ⭐Totalement Distribué
Machines nécessaires 1 (ordinateur) 1 (ordinateur) 3+ (cluster)
HDFS actif ? Non Oui (local) Oui (distribué)
YARN actif ? Non Oui Oui
Réplication HDFS N/A ×1 ×3 (défaut)
Tolérance aux pannes Aucune Partielle Complète
RAM recommandée 4 GB 8 GB 16 GB+/nœud
Daemons actifs Aucun 5 (NN, DN, SNN, RM, NM) 5+ par nœud
Cas d'usage Développement, CI/CD Apprentissage, TP Production
Difficulté Facile ★☆☆ Moyenne ★★☆ Complexe ★★★
Mode Local
   ┌──────────────────────────────┐
   │     🖥️  Votre Ordinateur      │
   │                              │
   │  ┌──────────────────────┐    │
   │  │     JVM Unique       │    │
   │  │  MapReduce Driver    │    │
   │  │  Mapper × 1         │    │
   │  │  Reducer × 1        │    │
   │  └──────────────────────┘    │
   │                              │
   │  📂 Filesystem LOCAL          │
   │     (pas de HDFS)            │
   └──────────────────────────────┘
Pseudo-Distribué
   ┌──────────────────────────────┐
   │   🖥️  Ordinateur (localhost)  │
   │                              │
   │  🏠 NameNode (JVM 1)         │
   │  💾 DataNode (JVM 2)         │
   │  📸 2nd NameNode (JVM 3)     │
   │  ⚙️  ResourceManager (JVM 4) │
   │  📦 NodeManager (JVM 5)      │
   │                              │
   │  📂 HDFS local (réplication ×1)│
   └──────────────────────────────┘
Totalement Distribué
  ┌───────────────────────────┐
  │  master01 (Maître)        │
  │  🏠 NameNode + ⚙️ ResMgr  │
  └─────────┬─────────────────┘
            │ SSH + réseau
   ┌────────┼──────────┐
   ▼        ▼          ▼
 [worker1] [worker2] [worker3]
  💾 DataNode + 📦 NodeMgr
  (réplication ×3 sur 3 racks)

2 Guides d'Installation

Mode Local — Aucune configuration requise !

Fonctionne immédiatement après décompression. Idéal pour développer des jobs MapReduce.

# 1. Prérequis Java 8 ou 11
java -version
# 2. Télécharger Hadoop
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
tar -xzf hadoop-3.3.6.tar.gz && cd hadoop-3.3.6
# 3. Configurer JAVA_HOME dans etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
# 4. Tester avec WordCount en mode local
mkdir -p /tmp/input && echo "Hello Hadoop Hello World" > /tmp/input/test.txt
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar \
  wordcount /tmp/input /tmp/output
cat /tmp/output/part-r-00000
# Résultat : Hadoop 2 Hello 2 World 1
Pseudo-Distribué — SSH sans mot de passe requis

Configure HDFS + YARN sur votre machine locale. 5 daemons démarrent en parallèle.

# 1. SSH sans mot de passe
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
ssh localhost # doit fonctionner sans mot de passe

# 2. etc/hadoop/core-site.xml
<configuration>
  <property><name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value></property>
</configuration>

# 3. etc/hadoop/hdfs-site.xml
<property><name>dfs.replication</name><value>1</value></property>

# 4. Formater NameNode (UNE SEULE FOIS !)
bin/hdfs namenode -format

# 5. Démarrer HDFS + YARN
sbin/start-dfs.sh # → http://localhost:9870
sbin/start-yarn.sh # → http://localhost:8088

# 6. Vérifier les 5 daemons
jps
# NameNode DataNode SecondaryNameNode ResourceManager NodeManager
Cluster Distribué — Minimum 4 machines

1 Master (NameNode + ResourceManager) + 3 Workers (DataNode + NodeManager).

# 1. /etc/hosts sur TOUTES les machines
192.168.1.10 master01
192.168.1.11 worker01
192.168.1.12 worker02
192.168.1.13 worker03

# 2. SSH sans mot de passe du master vers workers
ssh-copy-id hadoop@worker01
ssh-copy-id hadoop@worker02
ssh-copy-id hadoop@worker03

# 3. core-site.xml (même sur TOUS les nœuds)
fs.defaultFS = hdfs://master01:9000

# 4. hdfs-site.xml
dfs.replication = 3
dfs.blocksize = 134217728 # 128 MB

# 5. etc/hadoop/workers (sur master01)
worker01
worker02
worker03

# 6. Formater et démarrer depuis master01
bin/hdfs namenode -format -clusterId prod-cluster-01
sbin/start-dfs.sh # Démarre DN sur chaque worker automatiquement
sbin/start-yarn.sh
bin/hdfs dfsadmin -report

3 Quiz — Modes de Déploiement

Quiz — 8 questions
Score : 0 / 0
Question 1 / 8