Adoption d’Hadoop
Introduction
Le succès et l’adoption à grande échelle d’Hadoop ne dépendent pas des développeurs, mais des utilisateurs métier.
Hadoop n’est pas un outil, ni une solution, mais un ensemble de technologies qui permettent de faire du traitement massivement parallèle de façon tolérante sur un cluster d’ordinateurs. Deux éléments forment ses fondations : le MapReduce, un modèle de calcul basé sur une approche « divide and conquer » (diviser et conquérir), et le HDFS, un système de fichiers distribué. Au départ, Hadoop était utilisé pour l’indexation de pages web. Mais, avec l’explosion des données qui a caractérisé l’essor de l’économie numérique, Hadoop s’est diversifié pour s’adapter à la résolution d’autres problématiques métier et c’est ainsi qu’est né l’écosystème technologique d’Hadoop tel que nous le connaissons aujourd’hui (voir le chapitre SQL dans Hadoop). Cependant, deux problèmes subsistent quant à l’adoption d’Hadoop en entreprise :
-
Hadoop a été créé à la base pour des profils hautement qualifiés en développement logiciel. Or, l’adoption...
Distributions Hadoop
Nous allons désigner les stratégies d’adoption d’Hadoop par le terme "positionnement" car il ne s’agit pas de nouvelles fonctionnalités, mais des différentes formes d’emballage que les éditeurs donnent à Hadoop pour qu’il soit facilement adopté. La première forme de positionnement utilisée pour étendre l’adoption d’Hadoop en entreprise est la distribution, communément appelée distribution Hadoop. Dans ce type de positionnement, une entreprise (un éditeur logiciel) sélectionne une version open source d’Hadoop, concentre ses efforts de développement sur cette version de sorte à l’améliorer, développe des outils autour de cette version, la commercialise et en offre le support. Ainsi, une distribution Hadoop est une version commerciale d’Hadoop. L’avantage de la distribution est que l’évolution d’Hadoop est plus maîtrisée, intentionnelle et suit une feuille de route développée par l’éditeur. De plus, l’entreprise se porte garante de la sécurité de sa distribution et fournit le support nécessaire pour son exploitation. Actuellement, trois distributions Hadoop sont offertes sur le marché : la distribution Cloudera, la distribution Hortonworks, et la distribution MapR. Nous...
Distribution Cloudera d’Hadoop
Cloudera est une entreprise américaine fondée en 2008 par d’anciens ingénieurs de Google, Yahoo! et Facebook. Doug Cuting, l’auteur d’Hadoop et du HDFS, a rejoint Cloudera en 2009. À la différence d’Hortonworks, Cloudera se positionne comme un éditeur indépendant du monde open source et d’Apache. Cloudera développe ses propres technologies et met l’accent sur la formation. Sa distribution Cloudera Distribution including Apache Hadoop (en abrégé, CDH), est composée en partie des technologies open source d’Apache et de ses propres technologies. Tout comme la distribution Hortonworks, CDH inclut des technologies Apache qui restent la propriété intellectuelle de la fondation Apache. À ce jour, la dernière version de CDH est composée de : Apache Avro, Apache Flume, Apache Fuse-DFS, Apache Hadoop, Apache HBase, Apache HDFS, Apache Hive, Hue, Cloudera Impala, Apache Kudu, Apache Mahout, Apache MapReduce, Apache Oozie, Apache Pig, Cloudera Search, Apache Sentry, Apache Spark, Apache Sqoop, Apache Whirr, Apache ZooKeeper, Apache DataFu, Apache Kite, Apache YARN, Apache Kafka, Apache Flume et Cloudera Manager. La figure suivante illustre l’écosystème de la distribution CDH.
Figure 63 : Écosystème de CDH.
Cloudera est également connu pour avoir développé... |
Distribution Hortonworks d’Hadoop
Hortonworks est une entreprise américaine fondée en 2011 et financée entre autres par Yahoo!. Elle offre une distribution qu’elle a baptisée Hortonworks Data Platform (HDP). Hortonworks est plus proche du monde open source d’Hadoop que les autres éditeurs. Elle intègre dans HDP pratiquement tous les outils qui sont développés par les communautés open source, ce qui permet aux entreprises de bénéficier des nouvelles versions d’Hadoop. Hortonworks ne concentre pas ses efforts sur le développement de ses propres outils, elle enrichit HDP que les outils développés par les communautés open source et construit des solutions métier autour de ces outils.
Bien qu’Hortonworks s’appuie sur les outils Hadoop développés par l’open source, ceux-ci restent la propriété intellectuelle de la fondation Apache. À titre de rappel, la fondation Apache est l’organisation open source qui fédère les communautés de personnes qui travaillent sur Hadoop et son écosystème. |
À ce jour, la distribution HDP est constituée de quasiment la majorité des outils développés par Apache, c’est-à-dire d’Apache Accumulo, Apache Ambari, Apache Atlas, Apache Falcon, Apache Flume, Apache Hadoop, Apache Hadoop...
Distribution MapR d’Hadoop
MapR est une entreprise américaine fondée en 2009 pour la commercialisation d’Apache Hadoop. La particularité de MapR est qu’elle combine l’innovation technologique au travail de la communauté Apache Hadoop. Sa distribution, baptisée depuis 2016 Converged Data Platform (CDP), se compose de trois composants essentiels : MapR FS, MapR Streams, MapR DB, et de quelques composants d’Apache Hadoop.
-
MapR-FS (MapR File System) est le système de fichiers distribué de la distribution MapR. Techniquement, c’est une implémentation de l’API HDFS combinée aux fonctionnalités d’un système de fichiers distribué en lecture et écriture. Là où l’accès aux données du HDFS ne se fait qu’en lecture, l’accès aux données du MapR-FS se fait aussi bien en lecture qu’en écriture de façon concurrente. En d’autres termes, avec le MapR-FS, plusieurs clients peuvent écrire les données dans un fichier de façon simultanée. De plus, là où dans le HDFS classique, la compression des données est faite manuellement avant leur copie dans le cluster, le MapR-FS compresse automatiquement les données, ce qui le rend à la fois plus rapide en termes de performance et plus économique en termes...
Tableau récapitulatif des outils proposés
Le tableau suivant récapitule les outils proposés par les différentes distributions selon la catégorisation faite au chapitre SQL dans Hadoop concernant la composition d’un écosystème Hadoop.
Tableau 4 : Composition de l’écosystème des trois distributions.
Catégories d’outils |
Cloudera |
Hortonworks |
MapR |
Modèles de calcul |
MapReduce, Mahout, Spark, DataFu |
MapReduce, Spark, Tez |
MapReduce, Mahout, Spark |
Langages d’abstraction |
Hive, Pig |
Hive, Pig |
Hive, Pig |
SQL |
Impala |
HawQ, Phoenix |
Drill, Impala |
Système de fichiers distribué |
HDFS, Fuse-DFS |
HDFS |
MapR-FS |
Bases de données |
HBase, Kudu |
HBase, Accumulo |
HBase, MapR DB |
Streaming |
Flume, Kafka |
Flume, Kafka |
Flume, MapR Stream |
Traitement temps réel |
Spark |
Storm |
Storm |
Coordination |
ZooKeeper |
ZooKeeper |
ZooKeeper |
Workflow |
Oozie |
Oozie |
Oozie |
Intégration |
Sqoop |
Sqoop |
Sqoop |
Administration |
Cloudera Manager, Sentry |
Ambari, Slider, Atlas, Ranger |
MCS (MapR Control System) |
Gestionnaire de ressources |
YARN |
YARN |
YARN, Myriad |
Versions |
5.1 |
2.5 |
5.2 |
Comme vous pouvez le constater, ce qui différencie les éditeurs en dehors des innovations technologiques, ce sont les choix des outils qu’ils décident d’intégrer dans leur distribution. Le choix des outils open source Hadoop à intégrer dans une distribution est la décision la plus...
Guide de sélection d’une distribution Hadoop
Hadoop est un ensemble de briques logicielles qui s’assemblent pour résoudre un problème métier. Et la première étape avant de choisir une distribution est d’écrire la problématique métier à résoudre avec Hadoop et de chercher les briques (open source dans un premier temps) qui permettent de résoudre cette problématique. À ce stade, vous avez le choix entre deux options : soit vous adoptez ces outils purement open source tels qu’ils sont, soit vous vous orientez vers les éditeurs de distributions. Si vous choisissez d’utiliser les briques dans leur version purement open source, alors gardez à l’esprit ce que nous avons dit concernant l’open source dans l’introduction de ce chapitre. Si vous choisissez la deuxième option, c’est-à-dire les distributions des éditeurs, nous vous proposons une liste de sept critères. Sur la base de ces critères, vous pourrez conduire un benchmark et sélectionner objectivement la distribution qui vous convient ou convient à votre client. Ces critères sont les suivants : la disponibilité des briques ou leurs substituts dans la distribution de l’éditeur, la sécurité, la performance, le support, le TCO, l’alignement de la distribution sur les besoins de l’entreprise et la convivialité dans l’utilisation.
-
La disponibilité des briques logicielles : pour résoudre la problématique le premier critère est la disponibilité des briques logicielles dont vous avez besoin. En effet, vous devez vous assurer que l’éditeur intègre dans sa distribution la ou les briques logicielles open source dont vous avez besoin. S’il ne les intègre pas, vous devez vous assurer qu’il propose des substituts de ces briques. Supposons par exemple que vous vouliez résoudre une problématique streaming, et que pour cela vous souhaitiez utiliser Apache Storm. Sachant qu’il n’est pas nativement intégré dans la distribution CDH de Cloudera, si votre choix se porte sur CDH, vous devrez soit changer Storm pour Spark, soit voir avec Cloudera comment intégrer Storm à votre installation....
Conclusion
Le succès et l’adoption d’Hadoop dépendent à long terme des utilisateurs métier. Les communautés de développeurs de la fondation Apache font un travail remarquable en développant des versions de plus en plus avancées d’Hadoop et en mettant à disposition des outils qui permettent de l’utiliser de façon efficace. Cependant, comme le remarquait Facebook dans l’un de ses billets de recherche (vous trouverez le lien vers le billet dans Liens et références utiles), le premier facteur qui affecte la performance d’un système, ce n’est pas le système lui-même, mais c’est l’expérience de l’utilisateur avec le système. Plus le système est simple à utiliser, plus il est utilisé. Par conséquent, la décision de faciliter l’usage d’Hadoop n’est pas une option, elle est même tellement importante que son adoption à long terme par les entreprises en dépend. La fondation Apache a compris cela, mais elle est avant tout un fédérateur de développeurs, et en tant que tel, son rôle n’est pas de forcer le développement d’Hadoop vers ce sens-là. Heureusement, les éditeurs commerciaux ont compris cela et ont décidé de fournir des distributions Hadoop, des versions...
Guide d’étude du chapitre
Question 1 : Expliquez la stratégie de distribution.
Question 2 : Qu’est-ce qu’une distribution Hadoop ?
Question 3 : Quel est le lien entre la fondation Apache et Hadoop ?
Question 4 : Quel est le but d’un benchmark de solutions d’éditeurs ?
Question 5 : Sur quelle base comparerez-vous des solutions d’éditeurs ?
Question 6 : Citez et expliquez quatre critères sur lesquels vous vous appuierez pour recommander une distribution Hadoop à un client.
Question 7 : En quoi consiste l’authentification Kerberos ?
Question 8 : Qu’est-ce que le TCO, que mesure-t-il ?
Question 9 : Des distributions Hortonworks, Cloudera et MapR, laquelle vous semble la meilleure à votre avis ? Justifiez votre réponse.
À retenir
-
L’open source désigne l’ensemble des communautés de développeurs physiquement distantes, mais fédérées autour d’organisations à but non lucratif, qui visent à développer des logiciels qui seront utilisés librement.
-
La fondation Apache est l’organisation qui fédère toutes les communautés de développeurs qui travaillent sur Hadoop.
-
Les logiciels open source sont distribués sous une licence libre, ou licence GNU GPL, qui autorise n’importe qui à utiliser le logiciel, à modifier son code source et à le redistribuer librement.
-
Le modèle de développement communautaire de l’open source favorise un haut niveau de réactivité dans le développement des logiciels.
-
Le succès et l’adoption d’Hadoop à long terme ne dépendent pas des développeurs, mais des utilisateurs métier.
-
Trois types de stratégies permettent de favoriser l’adoption d’Hadoop en entreprise : la distribution, l’intégration verticale et le cloud.
-
Une distribution Hadoop est une version commerciale d’Hadoop.
-
Il y a actuellement trois distributions Hadoop sur le marché : Cloudera CDH, Hortonworks HDP et MapR CDP.
-
Les distributions se distinguent par le choix des outils de l’écosystème Hadoop qu’elles...