Apache Hadoop est le standard de facto pour le stockage Big Data et les traitements en batch, tandis que Twitter Storm est en train de devenir rapidement un autre standard pour la gestion d'évènements à grande échelle. Malheureusement, jusqu'à recemment, Storm et Hadoop nécessitaient deux clusters matériels différents pour leur installation. La semaine dernière, Yahoo! a annoncé la libération du code source de Storm fonctionnant sur un cluster Hadoop.
D'après Yahoo!, collocaliser les traitements temps réels (Storm) avec les traitements en batch offre un certain nombre d'avantages par rapport à des clusters séparés.
- Il y a un énorme potentiel pour l'élasticité. Les traitements en temp réel vont rarement produire une charge constante et prédictible. En tant que tel, Storm nécessite plus de ressources pour tenir les pics de charge. Collocaliser Storm avec les traitements en batch permet à Storm d'utiliser les ressources des jobs batch quand le besoin s'en fait sentir et de les libérer quand la charge diminue. Le travail sur Storm-YARN apporte les fondations requises pour rendre cela possible.
- De nombreuses applications utilisent Storm pour les traitements à faible latence et les batchs pour partager des données entre Storm et Map/Reduce. En plaçant Storm physiquement plus proche de la source de données et/ou des autres composants dans le même pipeline nous pouvons réduire les transferts réseau et donc le coût total d'acquisition des données.
L'intégration Storm-Hadoop se base sur le récent Resource Manager d'Hadoop YARN
Storm-sur-YARN permet aux applications Storm d'utiliser les ressources de dizaines de milliers de nœuds de calcul Hadoop. YARN est utilisé pour lancer le gestionnaire d'applications Storm (Nimbus) à la demande, et permet à Nimbus de demander des ressources pour les exécuteurs Storm (Supervisors).
Storm-YARN propose un fichier de configuration standard de Storm incluant les paramètres spécifiques à YARN, permettant la configuration du nombre initial de supervisors à lancer et la taille de la mémoire du conteneur à allouer pour chaque supervisor.
De plus, Yahoo! a étendu Storm pour utiliser les mécanismes de sécurité d'Hadoop, qui permettent aux applications Storm d'accéder aux données stockées dans HDFS et HBase.
Selon Loraine Lawson :
Un des cas d'application les plus prometteurs d'Hadoop et des autres solutions Big Data est la possibilité de fournir des informations en temps réel. Ce n'est pas mentionné souvent, ce qui est dommage, parce que c'est une vraie redistribution des cartes pour certaines organisations, avec des implications pour nous.
L'intégration du traitement en temp réel tel que proposé par Storm avec Hadoop ainsi que les requêtes Hadoop en temp réel nous rapprochent un peu plus de cette vision.