2010-03-02 4 views

Répondre

1

Hadoop est généralement utilisé hors connexion. Donc, je préfère traiter les journaux périodiquement.

Dans un projet auquel je participais précédemment, nous avons demandé à nos serveurs de produire des fichiers journaux qui étaient pivotés toutes les heures (toutes les heures à x: 00). Nous avions un script qui fonctionnait toutes les heures (toutes les heures à x: 30) et téléchargeait les fichiers dans HDFS (ceux qui n'étaient pas déjà là). Vous pouvez ensuite exécuter des tâches aussi souvent que vous le souhaitez dans Hadoop pour traiter ces fichiers. Je suis sûr qu'il existe également de meilleures alternatives en temps réel.

1

Hadoop n'est pas utilisé pour le traitement en direct en temps réel. Mais il peut être utilisé pour traiter les journaux sur une base horaire peut être une heure de retard, ce qui est proche du temps réel. Je me demande quel est le besoin de traiter les journaux comme il vient.

0

Si vous voulez un véritable traitement en temps réel, vous voudrez peut-être regarder Twitter's Storm , qui est open-source et hébergé sur GitHub. Tutorial here. Il semble que ce soit used in production dans les grandes entreprises.

Sur cette note, je ne l'utilise moi-même tempête, et fait faire quelque chose de semblable à ce qui a été mentionné dans la question et les réponses:

  1. événements du journal à l'aide de Apache (en utilisant rotatelogs pour changer les fichiers journaux toutes les 15/30 minutes)
  2. les télécharger tous les si souvent S3
  3. Ajouter une nouvelle étape à un cluster Hadoop existant (sur Amazon EMR)

Avec Hadoop, vous pouvez obtenir près de r eal-time en exécutant le traitement par lots souvent sur un cluster et en ajoutant simplement un nouveau travail, mais pas vrai temps réel. Pour cela, vous avez besoin de tempête ou quelque chose de similaire.

Questions connexes