Scribe, Chukwa...des collecteurs permettant d'alimenter le HDFS

le 08/01/2011 par Olivier Mallassi
Tags: Software Engineering

HDFS, que nous avons déjà évoqué, reste un système de fichier distribué et il faut donc l'alimenter. Il y existe plusieurs options :

  • à la manière batch. La première option est donc de continuer à collecter les données sur un système de fichier local et de les importer sur le HDFS par vacation. La seconde option serait d'utiliser un ETL. Pentaho a annoncé le support de Hadoop pour sa solution Data Integration Product. Les premiers tests que l'on a réalisé nous montre que cela fonctionne mieux pour extraire de la donnée du HDFS (via Hive) que pour l'importer (après, ce n'est certainement qu'une question de temps avant que Pentaho fasse le nécessaire). La troisième option serait d'utiliser Sqoop. Sqoop permet d'extraire ou d'importer des données depuis votre RDBMS en utilisant un algorithme de Map/Reduce.
  • à la manière "fil de l'eau". Dans ce domaine, les solutions se prénomment Flume, Chukwa (qui fait partie du projet Apache Hadoop) ou Scribe. En somme, vous collectez et aggréger des données, de différentes sources, différentes applications, différentes machines "au fur et à mesure". Toutes ces solutions fonctionnent globalement de la même manière. On peut cependant noter que Flume ou Chukwa proposent une typologie de connecteurs plus riches que Scribe dans la mesure ou par exemple, il est possible de ce connecter en "tail" sur un fichier etc, etc...Chukwa est également plus simplement intégrable avec la stack Hadoop que ce que peut l'être Scribe.

Reste que c'est Scribe, massivement utilisé chez Facebook, que nous allons décortiquer dans cette article (en anglais)...