Hadoop 2 veut étendre le champ d'application d'Hadoop au-delà du Batch
Avec le lancement officiel d'Hadoop 2 le 15 octobre, la fondation Apache veut notamment étendre l'usage de son framework analytique aux usage non batch.
Hadoop 2 a officiellement été dévoilé par la fondation Apache cette semaine et constitue une évolution majeure pour le framework analytique historiquement basé sur le système de gestion de fichiers en cluster HDFS (Hadoop Distributed File System) et sur le framework MapReduce.
Les premiers utilisateurs d’Hadoop notamment dans le monde internet, ont utilisé la technologie pour traiter des volumes massifs de données non structurées et semi structurées, typiquement des données de logs serveur et réseau, des données de provenant de réseaux de capteurs, de flux sociaux ou des images…
Ces données sont stockées sur des clusters de serveurs banalisés fournissant un pool relativement peu couteux de ressources de stockage et de traitement. Comme l’explique Tony Consentino, vice-président et directeur de recherche chez Ventana Research, Hadoop a la capacité de traiter des données peu structurées et des informations qui se prête peu à un stockage dans des bases de données traditionnelles. Toutefois, comme le précise Cosentino, les implémentations de l’architecture actuelle d’Hadoop sont limitées par son orientation batch. « Hadoop est bien adapté pour les applications ou la latence n’est pas un problème et qui nécessitent le traitement de grandes volumétries de données ».
Le couple HDFS – MapReduce « est bien adapté à l’analyse de jeu de donnés très larges de données non structurées statiques comportant des téraoctets ou des petaoctets de données » explique William Bain, le CEO de ScaleOut Software, un éditeur de solutions de traitement de données basé à Beaverton, dans l’Oregon.
Comme Cosentino, Bain insiste que du fait de sa nature batch, et de l’important overhead requis pour le traitement de données, Hadoop n’a pas été utile pour le traitement de données en temps réel, même si cela pourrait changer dans l’avenir avec l’avènement d’Hadoop 2 et l’apparition de nouveaux moteurs de requêtes développés par certains fournisseurs. On pense par exemple à des technologies comme Impala chez Cloudera.
Un écosystème dynamique
Le dynamisme de l’écosystème qui entoure Hadoop est remarquable. Depuis ses débuts, la technologie a attiré des centaines de développeurs désireux de créer des outils additionnels pour combler des trous dans le spectre fonctionnel du framework. On peut par exemple citer des composants comme Hbase – une base de données distribuée au dessus d’HDFS -, Hive – un datawarehouse de type SQL - ou Pig – un langage de haut niveau pour développer des programmes d’analyse au dessus de MapReduce. D’autres acteurs ont contribué des composants qui sont devenus des sous-projets Hadoop comme Ambari pour le provisioning et l’administration de clusters, Cassandra, une base de données NoSQL ou ZooKeeper qui permet de conserver les données de configuration et de synchroniser les opérations entre clusters.
YARN apporte plus de flexibilité à Hadoop 2
C’est là qu’entre en scène Hadoop 2 – originellement connu sous le nom Hadoop 2.0. Au cœur de cette mise à jour majeure figure YARN, un nouveau gestionnaire de ressources qui devrait permettre à d’autres applications que les programmes MapReduce de tirer parti des capacités d’HDFS. YARN (Yet Another Resource Negotiator) est en parti conçu pour venir à bout des limitations de MapReduce dans les configurations de très grands clusters mais aussi pour venir à bout des limitations lié à l’utilisation du mode Batch tout en garantissant la compatibilité avec les API existantes et avec les job MapReduce existants (moyennant une recompilation).
Avec YARN (aussi appelé MapReduce 2.0 ou MRv2) les tâches de gestion de ressources et de job scheduling/monitoring de MapReduce sont séparées en deux démons autonomes. L’idée selon la fondation Apache est d’avoir un gestionnaire de ressources global (distribuant les tâches selon des critères de mémoire, de CPU et de réseau) et un gestionnaire d’application, qui gère les jobs (au sens MapReduce du terme).
« YARN est une différence clé d’Hadoop 2.0 », explique Cosentino. « Au lieu de laisser un job MapReduce se considérer comme le seul utilisateur d’un cluster HDFS, il permet à de multiples workloads de s’exécuter de façon simultanée ». Un exemple est le cas d’utilisation de Yahoo qui a mis en œuvre le traitement d’événements complexes Storm au dessus de YARN, afin de canaliser les données issues des activités sur ses sites web sur un cluster Hadoop. Yahoo dispose actuellement de plus de 365 Po de données sur 330 000 nœuds de clusters Hadoop gérés par YARN a récemment expliqué Bruno Fernandez-Ruiz, un «senior fellow » et vice-président en charge des plates-formes chez Yahoo. C’est bien plus que ce que vous pourrez trouver dans une entreprise typique aujourd’hui explique Fernandez-Ruiz, tout en estimant que d’autres pourraient suivre son exemple dans les années à venir. « Notre présent est votre futur » a-t-il expliqué aux participants du dernier Hadoop Summit.
Hadoop 2 est aussi censé apporté des améliorations en termes de disponibilité (en permettant de fédérer les name nodes Hadoop) et apporte aussi le support de Windows. Les innovations du nouveau framework devraient faire leur apparition dans les multiples distributions commerciales Hadoop au cours des prochains mois.
Avec Jack Vaughan, SearchDatamanagement.com