Autres apports de la version 2 de Hadoop

La version 2 de Hadoop supporte officiellement Windows Server et Windows Azure.

La version 2 de Hadoop permet aussi :

  • D’accéder à HDFS à partir d’un système de fichiers distribué NFS-v3, ce qui permet alors de considérer HDFS comme un disque partagé standard.
  • De prendre des “clichés” (snapshots) de tout ou partie d’un cluster.

Hadoop 2 – YARN (Yet Another Resource Negotiator)

Apache Hadoop YARN (Yet Another Resource Negotiator) est une technologie de gestion de clusters. Elle rend l’environnement Hadoop mieux adapté aux applications opérationnelles qui ne peuvent pas attendre la fin des traitements par lots.

La principale différence entre Hadoop version 1 et Hadoop version 2 est la séparation claire dans la version 2 entre la gestion des ressources du cluster et le modèle de traitement des données.

Hadoop 1 vs Hadoop 2

Dans la version 1, MapReduce assure à la fois la gestion des ressources et le traitement des données.

Dans la version 2 :

  • La gestion des ressources du cluster est assurée par YARN.
  • Les modèles de traitement des données, MapReduce pour ce qui nous concerne, s’appuient sur YARN.
Hadoop 1 vs Hadoop 2

Hadoop 1 vs Hadoop 2

Les deux aspects “gestion des ressources du cluster” et “modèle de traitement des données” sont nettement distincts dans la version 2 de Hadoop, ce qui permet d’utiliser YARN avec des modèles de traitement différents de MapReduce tout en bénéficiant des fonctionnalités de HDFS.

Les daemons de type JT et TT n’existent plus dans la version 2 de Hadoop. Ils sont remplacés par plusieurs nouveaux daemons :

  • Le ResourceManager (RM) : il y en a un par cluster.
  • L’ApplicationMaster (AM) : il y en a un par job.
  • Le NodeManager (NM) : il y en a un par nœud esclave.

Hadoop 2 – High Availability

Dans la version 1 de Hadoop, le NameNode (NN) est un SPOF (Single Point Of Failure) et la seule façon de parer à une défaillance du NN était :

  • De lui affecter une machine à haute tolérance aux pannes.
  • D’avoir une machine “miroir”, prête à démarrer en cas de défaillance du NN.

Depuis Hadoop 2.0.0, cette notion de machine “miroir” a été remplacée par le mode HA (High Availability = haute disponibilité). Dans ce mode, il existe deux NN, l’un actif (Active NN), l’autre en veille (Standby NN). Le Standby NN est prêt à remplacer automatiquement l’Active NN en cas de défaillance de ce dernier, en quelques secondes en mode automatique.

Le basculement de l’Active NN vers le Standby NN peut se faire de manière automatique ou manuelle.

Les daemons de HDFS en mode High Availability (HA)

Les daemons de HDFS en mode High Availability (HA)

Un daemon nommé ZooKeeper Failover Controller (ZKFC) s’exécute sur chaque NameNode (Active NN et Standby NN). Si ZooKeeper ne reçoit pas d’information de l’Active NN pendant un temps prédéfini, il considérera ce dernier comme défaillant, et basculera sur le Standby NN.

Les principaux apports de la version 2 d’Hadoop – Partie 1

L’objectif de ce article est de présenter les principaux apports de la version 2 de Hadoop. Ils sont au nombre de quatre :

  • High Availability (HA) ou haute disponibilité en français , un nouveau dispositif de HDFS qui permet de faire en sorte que le NameNode (NN) ne soit plus un Single Point Of Failure (SPOF).
  • Federation, un nouveau dispositif de HDFS qui permet de gérer de manière plus efficace les clusters de grande taille.
  • YARN, un gestionnaire de ressources générique de seconde génération sur lequel s’appuie MapReduce, et qui peut être aussi mis en œuvre par d’autres modèles de traitement de données.
  • La possibilité d’installer Hadoop directement sous Microsoft Windows.

Pour une liste à jour des dernières versions de Hadoop et de leurs fonctionnalités, se reporter l’adresses suivante : http://hadoop.apache.org/releases.html#News.

High Availability

Dans la version 1 de Hadoop, les clusters Hadoop disposaient d’un NN unique qui gérait l’arborescence des fichiers HDFS et suivait le stockage des  données dans un cluster.

Jusqu’à Hadoop 2.0.0, la seule façon de parer à une défaillance du NN était :

  • De lui affecter une machine à haute tolérance aux pannes.
  • D’avoir une machine “miroir”, prête à démarrer en cas de défaillance du NN.

Depuis Hadoop 2.0.0, cette notion de machine “miroir” a été institutionnalisée par le biais du mode HA (High Availability = haute disponibilité). Dans ce mode, il existe deux NN, l’un actif (Active NN), l’autre en veille (Standby NN). Le Standby NN est prêt à remplacer automatiquement l’Active NN en cas de défaillance de ce dernier, en quelques secondes en mode automatique.

Les informations sur la cartographie des données du cluster sont disponibles à la fois au niveau de l’Active NN et au niveau du Standby NN.

Le Standby NN assume en outre la fonction du SNN, qui n’existe donc plus tant qu’il est en veille.

L’opération consistant à basculer de l’Active NN vers le Standby NN peut se faire de manière automatique (Automatic Failover) ou manuelle (Manual Failover).

Les daemons de HDFS en mode "High Availability (HA)"

Les daemons de HDFS en mode “High Availability (HA)”