Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MongoDB Paris 2012: Hadoop et MongoDb

mongodb
June 14, 2012
470

MongoDB Paris 2012: Hadoop et MongoDb

Comment analyser chaque jour des téra de logs générés par plus de 600 JVMs en production, sans impacter leur fonctionnement ? Nous vous présenterons durant cette session la solution Big Data 100% Open Source mise en place chez un des plus grands sites du web européen. Une architecture basée sur syslog-ng, Flume, Hadoop, MongoDb et Play!, qui n'a rien à envier aux géants d'outre-atlantique ! Venez découvrir comment nous avons divisé par 20 le temps de détection et de traitement des incidents. Mais aussi comment BigData a permis de nouvelles utilisations des logs à la fois techniques et surtout métier, comme la détection des fraudes, l’analyse de traffic web, BI en temps réel, ... À travers ce retour d'expérience, nous vous proposons de vivre, au coeur d'une des plus exigeantes productions de France, la mise en place de ce projet digne des très grands du web

mongodb

June 14, 2012
Tweet

Transcript

  1. Hadoop et MongoDb by Pablo Lopez @pLopezFr 1 au secours

    de téraoctets de logs inexploitables chez l’un des plus grands sites marchands européens.
  2. Abstract • Une plateforme de production hors normes, exigeante •

    Une solution BigData innovante • De nombreux usages • Voir toujours plus grand 2
  3. La course à l’armement 5 • ~500 serveurs de production

    • 80 applications • 5 JVMs / serveur • 13 niveaux de load balancing. !" #!" $!!" $#!" %!!" %#!" &!!" &#!" '!!" '#!" !"#$%&''(&')&%*&+%)'(&',%"(+-."/' &/0%&'1223'&0'1241'
  4. Une mine d’informations... 6 • Logs techniques / fonctionnelles /

    analytiques • 5 à 10 fichiers de logs par JVMs • 7 Go de logs / serveur / jour
  5. ... et un calvaire pour les équipes 7 • Rotation

    trop rapide • Collecte semi automatisée • Transferts laborieux • Volume à traiter colossal
  6. De grandes responsabilités 10 • Disponibilité 99,995 % • Temps

    de réponse sous la seconde • Base de données = Single Point of Failure • Coûts maitrisés
  7. Le défi du temps réel 18 !" #" $!" $#"

    %!" %#" &!" &#" '!" '#" Temps d’exécution du job en minutes
  8. Le défi du temps réel 18 !" #" $!" $#"

    %!" %#" &!" &#" '!" '#" Temps d’exécution du job en minutes Version initiale
  9. Le défi du temps réel 18 !" #" $!" $#"

    %!" %#" &!" &#" '!" '#" Temps d’exécution du job en minutes Version initiale Tuning infrastructure
  10. Le défi du temps réel 18 !" #" $!" $#"

    %!" %#" &!" &#" '!" '#" Temps d’exécution du job en minutes Version initiale Tuning infrastructure Tuning code
  11. Flexibilité 21 • Map/Reduce, version initiale { "_id" : ObjectId("4fce8144bbaed5a2436f3a86"),

    "PageURL" : "http://myDomain.com/mapage/", "Day" : "2012-01-01", "Views" : "10" } • Map/Reduce, version évoluée { "_id" : ObjectId("4fd8eebc2a27d319d1324a31"), "PageURL" : "http://myDomain.com/mapage/", "Day" : "2012-06-14", "Views" : "10", "AverageDisplayTime" : "101" }
  12. Architecture 25 TaskTraker Map Reduce Mongos ShardA - Member 1

    ShardB - Member 1 ShardC - Voter ShardA - Member 2 ShardB - Voter ShardC - Member 2 ShardA - Voter ShardB - Member 2 ShardC - Member 1 Mongo Config Mongo Config Mongo Config TaskTraker Map Reduce Mongos TaskTraker Map Reduce Mongos TaskTraker Map Reduce Mongos
  13. Next architecture 26 TaskTraker Map Reduce Mongos ShardA - Primary

    ShardA - Secondary ShardB - Voter ShardB - Primary Mongo Config Mongo Config TaskTraker Map Reduce Mongos TaskTraker Map Reduce Mongos TaskTraker Map Reduce Mongos ShardA - Voter ShardB - Secondary Mongo Config
  14. L’équipe 28 • Philippe Martin [email protected] • Arnault Jeanson @ArnaultJeanson

    • Jean-Philippe Hautin @JpHautin • Jawed Khelil • François Ostyn • Pierre Revellin • Olivier Del Favero