---
type: archive
area: archive
status: archived
date: 2026-05-03
created: 2026-05-03
updated: 1980-01-01
tags:
  - archive
---
## High Availability

La fonctionnalité de Haute Disponibilité (High Availability, HA) dans Hadoop 2.0.0 et versions ultérieures vise à améliorer la résilience et la disponibilité du NameNode (NN), qui est un composant clé gérant les métadonnées du système de fichiers. Voici les points clés concernant la Haute Disponibilité dans Hadoop :

1. **Basculement Automatique** : Ce mécanisme a été introduit dans Hadoop 2.0.0 pour remplacer le modèle à NameNode unique utilisé dans Hadoop 1, où le NN était un point de défaillance unique (Single Point of Failure, SPOF). Dans la configuration HA, il y a deux NN :
    
    - **NN Actif** : Le nœud principal qui gère les opérations de l'espace de noms du système de fichiers.
    - **NN de Secours** : Agit comme une sauvegarde et peut prendre le relais automatiquement en cas de défaillance du NN actif.
2. **Processus de Basculement** : La transition du NN actif au NN de secours peut se faire automatiquement (basculement automatique) ou manuellement (basculement manuel). Cela assure une interruption minimale et une récupération rapide en cas de panne.
    
3. **Rôle de ZooKeeper** : La surveillance des NN et l'initiation d'un basculement automatique sont gérées par ZooKeeper. Le ZooKeeper Failover Controller (ZKFC), exécuté sur chaque NN, surveille la santé du NN actif. Si le NN actif échoue ou devient non réactif, ZooKeeper déclenche un basculement vers le NN de secours.
    
4. **Informations de Cartographie des Données** : Les NN actif et de secours maintiennent des informations à jour sur la cartographie des données du cluster, garantissant la cohérence et la disponibilité des données même pendant un basculement.

## Federation

La fonctionnalité de Fédération (Federation) dans Hadoop 2.0 permet de mieux gérer les clusters de grande taille en distribuant la charge de travail entre plusieurs NameNodes (NN), chacun gérant un espace de nommage distinct. Voici les détails clés de la Fédération dans Hadoop :

1. **Multiples NameNodes** : La fédération permet à plusieurs NN de coexister au sein d'un même cluster physique. Chaque NN gère son propre espace de nommage et les NN sont indépendants les uns des autres. Cela signifie que chaque NN opère comme s'il était un cluster logique séparé.
    
2. **Indépendance des NameNodes** : Les NN sont autonomes et ne communiquent pas entre eux. Cela permet une isolation efficace des espaces de nommage, ce qui est crucial pour les clusters de développement et de production coexistant au sein du même environnement physique.
    
3. **Allocation de Ressources** : À chaque NN sont alloués des blocs spécifiques pour stocker les fichiers dont il a la charge. Ces blocs peuvent être répartis sur plusieurs nœuds physiques, et un disque peut contenir des blocs appartenant à différents NN.
    
4. **Scalabilité et Performance** : La fédération facilite le "scaling out" d’un cluster. Hadoop a été conçu pour être facilement extensible en termes de capacité de stockage et de puissance de traitement. En répartissant la charge de travail entre plusieurs NN, on peut mieux gérer les clusters de grande taille et améliorer les temps de réponse des NN, car moins de métadonnées sont gérées par chaque NN, réduisant ainsi les besoins en RAM et en temps CPU pour chaque NN.
    
5. **Isolation des Espaces de Nommage** : La fédération permet de séparer et d'isoler les espaces de nommage les uns des autres. Cela peut être particulièrement utile pour séparer des environnements de développement et de production au sein d'un même cluster physique, garantissant ainsi que les activités dans un espace de nommage n'affectent pas les autres.

## Yarn

**YARN (Yet Another Resource Negotiator)** est une composante clé de Hadoop 2 qui sépare la gestion des ressources du cluster des modèles de traitement des données, offrant ainsi une flexibilité accrue par rapport à Hadoop 1. Voici un résumé des aspects principaux de YARN :

1. **Séparation des Fonctionnalités** : Dans Hadoop 1, MapReduce gérait à la fois les ressources du cluster et le traitement des données. YARN change cela en séparant ces fonctions, permettant à d'autres modèles de traitement de données d'être utilisés en plus de MapReduce.
    
2. **Gestion des Ressources** : YARN introduit des composants dédiés pour la gestion des ressources, améliorant l'utilisation des capacités du cluster en termes de mémoire et de processeurs. Ce système est plus dynamique et peut ajuster les ressources allouées en fonction des besoins actuels des applications.
    
3. **Flexibilité et Performance** : YARN permet une meilleure utilisation des ressources en optimisant l'allocation des nœuds pour les tâches de map et de reduce. Cela contribue à l'efficacité globale du cluster, permettant de gérer une variété de charges de travail plus large.

## ResourceManager

**ResourceManager (RM)** et **ApplicationMaster (AM)** sont deux composants de YARN qui jouent des rôles cruciaux dans la gestion des ressources :

1. **ResourceManager (RM) :**
    
    - **Rôle Principal** : Le RM est le maître des ressources du cluster, chargé de l'allocation des ressources entre toutes les applications.
    - **Planificateur (Scheduler)** : Il utilise un planificateur pour allouer les ressources aux diverses applications selon leurs besoins, priorités et les SLA (Service Level Agreements).
    - **Haute Disponibilité** : Bien que le RM soit un point de défaillance unique, il peut être configuré en mode haute disponibilité pour augmenter la résilience du système.

## ApplicationMaster

1. **ApplicationMaster (AM) :**
    
    - **Rôle Principal** : Chaque application (ou job) dans YARN a son propre AM qui est responsable de la négociation des ressources nécessaires avec le RM et de la coordination de l'exécution des tâches sur le cluster.
    - **Gestion des Tâches** : L'AM collabore avec les NodeManagers pour s'assurer que les tâches de l'application sont exécutées efficacement.
    - **Récupération et Reporting** : Il assure la tolérance aux pannes et informe le client de la progression du job.