Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Hadoop
  3. Futur d’Hadoop : limites d’Hadoop et YARN
Extrait - Hadoop Devenez opérationnel dans le monde du Big Data
Extraits du livre
Hadoop Devenez opérationnel dans le monde du Big Data
1 avis
Revenir à la page d'achat du livre

Futur d’Hadoop : limites d’Hadoop et YARN

Introduction

« Le futur n’a de sens qu’à la pointe de l’outil. » (Alain)

Hadoop présente deux limitations majeures qui peuvent constituer un frein à son adoption à grande échelle en entreprise : l’une porte sur le modèle de calcul sur lequel il s’appuie et l’autre porte sur le HDFS, son système de fichiers distribué. Depuis 2009, Hadoop est un projet de la fondation Apache, et cette dernière n’a de cesse de l’améliorer. Actuellement, ces deux limitations majeures ont été levées et la structure d’Hadoop a sérieusement été revue. Cet ouvrage met plus l’accent sur les principes, c’est pourquoi nous n’avons pas commencé l’étude directement avec la dernière version d’Hadoop. Nous avons voulu vous faire comprendre les problèmes qui ont entraîné la version d’Hadoop actuelle, car la clé de la compréhension de la technologie ne se situe pas dans la technologie elle-même, mais dans la connaissance du contexte dans lequel elle a été créée. Ce chapitre décrit les problèmes (le contexte) qui ont engendré la version actuelle d’Hadoop ce que sera l’exploitation d’un cluster Hadoop dans un futur très proche. Attention, tous les principes...

Limites d’Hadoop

Les améliorations viennent toujours des limites que l’on rencontre. Hadoop tel que nous l’avons décrit dans les chapitres précédents, malgré sa puissance, sa capacité à faire du calcul massivement parallèle de façon complètement tolérante aux pannes comporte des limites. Tout au long de notre expérience avec Hadoop et de nos recherches, nous en avons distingué quatre principales : le modèle de calcul, le système de fichiers distribué, la disponibilité et la sécurité.

1. Modèle de calcul d’Hadoop

Aussi puissant et efficace que soit Hadoop, il n’est bon que pour une et une seule chose : les jobs MapReduce. En effet, Hadoop est une implémentation Java du MapReduce. Ainsi, un cluster Hadoop ne peut pas s’utiliser pour l’exécution des modèles de calcul distribué autres que le MapReduce de Google. Le MapReduce n’est pas le seul modèle de calcul capable de distribuer les calculs sur un cluster. Il y a d’autres modèles comme le Pregel, Haloop, Dryad, etc. Ceci est une véritable faiblesse, car comme nous l’avons vu, le MapReduce est un modèle de calcul batch, et n’est donc convenable que pour des travaux dont l’exécution ne demande pas des latences faibles, en d’autres termes des problèmes batch. Malheureusement, cela limite l’ensemble des problématiques qui peuvent être traitées avec un cluster Hadoop. La majeure partie des problématiques de traitement de données sont des problématiques de data science (modélisation statistique, data mining, machine learning, recherche opérationnelle, etc.) et toutes ces problématiques requièrent des modèles de calcul interactifs et itératifs. De plus, exécuter un seul modèle de calcul sur un cluster ne permet pas de profiter de toute la puissance de calcul offerte par le cluster. La solution à ce problème est de faire tourner sur un cluster Hadoop plusieurs types de modèles de calcul distribué à la fois. C’est le but du YARN. Nous y reviendrons plus loin.

2. HDFS

Malgré sa capacité à...

YARN et développements en cours sur Hadoop

Dans la toute première version d’Hadoop, les utilisateurs étaient limités uniquement à l’exécution des jobs MapReduce, ce qui était très restrictif en termes d’applications. De plus, l’exécution des jobs MapReduce imposait des choix architecturaux au niveau du cluster et au niveau du HDFS, qui ont engendré les limitations que nous avons étudiées. Depuis la version 2 d’Hadoop, ces limitations ont été levées par une innovation majeure : le YARN. La fondation Apache a extrait la fonction de planification des tâches MapReduce (le JobTracker) pour en faire une application générique de planification de tâches qu’elle a appelée YARN. Grâce au YARN, Hadoop n’est plus limité à l’exécution du seul modèle de calcul MapReduce, mais peut désormais exécuter d’autres modèles de calcul distribué sur le cluster. Chose formidable avec cette innovation, tous les modèles de calcul distribué coexistent sur le cluster. Parallèlement au YARN, plusieurs autres innovations ont été ajoutées dans Hadoop. Dans cette section, nous allons nous focaliser sur le YARN et la fédération HDFS.

1. Définition du YARN

Le YARN permet de faire coexister dans la même installation Hadoop plusieurs modèles de calcul distribué. Pour ce faire, le YARN crée pour chaque job du modèle de calcul un container auquel il alloue des ressources et suit l’exécution de ces différentes ressources. Par exemple, si l’on exécute un job Spark et un job MapReduce, le YARN va les encapsuler chacun dans un container différent, allouer des ressources précises à chaque container, et suivre l’exécution des containers dans les nœuds de données.

La figure suivante illustre la différence entre la première version et la deuxième version d’Hadoop.

images/06EI01.PNG

Figure 31 : Différence entre la version 1 et les versions ultérieures d’Hadoop.

Le tableau suivant compare les fonctionnalités offertes par les différentes versions d’Hadoop.

Tableau 2 : Fonctionnalités des versions d’Hadoop.

Fonctionnalités...

Conclusion

Une technologie se développe dans un contexte, c’est ce contexte de départ qui détermine ses fonctionnalités. Le contexte va évoluer dans le temps, les besoins que la technologie est censée satisfaire vont évoluer et c’est l’évolution de ces besoins qui font évoluer la technologie. Le MapReduce à la base a été créé par Google pour l’indexation des pages web, ni plus ni moins. L’implémentation du MapReduce en Hadoop, son adoption et son utilisation dans des problématiques autres que l’indexation des pages web se confrontent à un ensemble de limites : la restriction à un seul modèle de calcul, inadéquat aux problématiques interactives et itératives, le point de défaillance unique que constitue le nœud de référence, le manque de sécurité et les faiblesses du HDFS. La fondation Apache a réagi à ces limites en restructurant Hadoop et en y ajoutant une amélioration majeure : le YARN. Le YARN ouvre de nouvelles possibilités et permet d’emmener Hadoop au-delà des frontières habituelles du MapReduce. Le futur du développement d’applications en Hadoop, c’est le YARN et les applications YARN.

Guide d’étude du chapitre

Question 1 : Citez trois facteurs de limitation d’Hadoop 1 et expliquez en quoi ces facteurs constituent des limites.

Question 2 : Quelle est la différence entre le YARN et le jobtracker ?

Question 3 : Les ingénieurs de Yahoo! ont découvert qu’autour de 4 000 nœuds, les performances du cluster Hadoop baissaient.

1 - Expliquez brièvement la cause de cette baisse de performance.

2 - Expliquez comment le YARN réussit à surmonter ce problème.

Question 4 : Dans la version 1 d’Hadoop, l’unité de travail est le job MapReduce. Dans les versions 2 et plus, comment s’appelle l’unité de travail ?

Question 5 : Citez les deux composants qui constituent une unité de travail Hadoop 2.

Question 6 : Quelle est la fonction du Resource Manager dans le YARN ?

Question 7 : Quelle est la fonction de l’Application master dans YARN ?

Question 8 : Quelle est la fonction du Node Manager dans YARN ?

Question 9 : Qu’est-ce qu’un container YARN ?

Question 10 : Soit une application MapReduce-YARN dans laquelle le nombre de tâches Map est de dix. Répondez aux questions suivantes :

1 - Combien de containers YARN seront générés pour l’exécution de ces dix tâches Map ? Justifiez votre réponse.

2 - Les dix tâches...

À retenir

  • La clé de la compréhension de la technologie ne se situe pas dans la technologie elle-même, mais dans la connaissance du contexte dans lequel elle a été créée.

  • Hadoop est une implémentation du MapReduce et, en tant que telle, il est limité à l’exécution d’un seul modèle de calcul : le MapReduce.

  • Le HDFS accède aux blocs de données de façon séquentielle, ce qui augmente sa latence. 

  • Le HDFS a plus de problèmes à gérer 100 fichiers de 10 Mo, qu’un fichier de 1 Go (100 fichiers * 10 Mo).

  • Le nœud de référence constitue le point de défaillance unique d’un cluster Hadoop.

  • Par défaut, Hadoop s’exécute sans aucun mode de sécurité.

  • L’authentification Kerberos peut s’utiliser dans Hadoop comme moyen de chiffrement des mots de passe.

  • Le jobtracker cumule les fonctions de gestion des ressources du cluster et de planification de l’exécution des jobs MapReduce, ce qui limite la scalabilité du cluster.

  • Le jobtracker plafonne à 4 000 nœuds la scalabilité d’un cluster.

  • Le YARN, (Yet Another Resource Negotiator), est un gestionnaire de ressources de cluster. À la différence du jobtracker, le YARN sépare les deux fonctions du jobtracker en deux processus indépendants : un processus...