Hadoop 2 – HDFS Federation

Le dispositif HDFS Federation permet de faire cohabiter plusieurs NameNodes (NN) au sein d’un même cluster physique.

Les NN sont indépendants deux à deux : chaque NN gère un espace de nommage (namespace) qui lui est propre et les NN ne communiquent pas entre eux.

Chaque NN se voit allouer un certain nombre de blocs pour stocker les fichiers dont il a la charge. Ces blocs sont répartis sur plusieurs nœuds. Un disque peut héberger des blocs correspondant à des NN différents.

L’intérêt du concept de Federation est double :

  • Federation facilite le scaling out d’un cluster :
    • Il est facile de rajouter des nœuds pour augmenter la capacité de stockage et/ou la puissance de traitement mais, dans la version 1, toute la charge de travail repose sur un seul NN, ce qui a ses limites lorsque l’on gère des clusters de plusieurs milliers de nœuds.
    • La version 2 de Hadoop, en distribuant la charge de travail entre plusieurs NN, facilite l’avènement de clusters de grande taille ; les temps de réponse au niveau des NN peuvent être améliorés (moins de métadonnées à gérer pour chaque NN, d’où besoins en RAM et en temps CPU moindres pour chaque NN, etc.).
  • Federation permet d’isoler chaque namespace des autres, par exemple pour faire cohabiter au sein d’un même cluster physique un cluster logique de développement et un cluster logique de production.
Une Federation HDFS

Une Federation HDFS

Les notions de High Availability et de Federation sont indépendantes. Il est possible d’activer l’une ou l’autre, ou les deux. Dans ce dernier cas, il faut activer l’option Federation avant d’activer l’option High Availability.

Laisser un commentaire